I wonder whether CharFilters are applied to wildcard terms? I suspect
they might be. If that's the case, you could use the MappingCharFilter
to perform lowercasing (and strip diacritics too if you want that)
-Mike
On 06/15/2011 10:12 AM, Jamie Johnson wrote:
So simply lower casing the works but can get complex. The query that
I'm executing may have things like ranges which require some words to
be upper case (i.e. TO). I think this would be much better solved on
Solrs end, is there a JIRA about this?
On Tue, Jun 14, 2011 at 5:33 PM, Mike Sokolov <soko...@ifactory.com
<mailto:soko...@ifactory.com>> wrote:
opps, please s/Highlight/Wildcard/
On 06/14/2011 05:31 PM, Mike Sokolov wrote:
Wildcard queries aren't analyzed, I think? I'm not completely
sure what the best workaround is here: perhaps simply
lowercasing the query terms yourself in the application. Also
- I hope someone more knowledgeable will say that the new
HighlightQuery in trunk doesn't have this restriction, but I'm
not sure about that.
-Mike
On 06/14/2011 05:13 PM, Jamie Johnson wrote:
Also of interest to me is this returns results
http://localhost:8983/solr/select?defType=lucene&q=Person_Name:Kristine
<http://localhost:8983/solr/select?defType=lucene&q=Person_Name:Kristine>
On Tue, Jun 14, 2011 at 5:08 PM, Jamie
Johnson<jej2...@gmail.com <mailto:jej2...@gmail.com>> wrote:
I am using the following for my text field:
<fieldType name="text" class="solr.TextField"
positionIncrementGap="100"
autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<!-- in this example, we will only use synonyms at
query time
<filter class="solr.SynonymFilterFactory"
synonyms="index_synonyms.txt" ignoreCase="true"
expand="false"/>
-->
<!-- Case insensitive stop word removal.
add enablePositionIncrements=true in both
the index and query
analyzers to leave a 'gap' for more accurate
phrase queries.
-->
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1"
catenateWords="1"
catenateNumbers="1" catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory"
protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory"
synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1"
catenateWords="0"
catenateNumbers="0" catenateAll="0"
splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory"
protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
I have a field defined as
<field name="Person_Name" type="text" stored="true"
indexed="true" />
when I execute a go to the following url I get results
http://localhost:8983/solr/select?defType=lucene&q=Person_Name:kris*
<http://localhost:8983/solr/select?defType=lucene&q=Person_Name:kris*>
but if I do
http://localhost:8983/solr/select?defType=lucene&q=Person_Name:Kris*
<http://localhost:8983/solr/select?defType=lucene&q=Person_Name:Kris*>
I get nothing. I thought the LowerCaseFilterFactory
would have handled
lowercasing both the query and what is being indexed,
am I missing
something?