The standard tokenizer recognizes "!" as a punctuation character, so it will
be treated as white space.
You could use the white space tokenizer if punctuation is considered
significant.
-- Jack Krupansky
-----Original Message-----
From: vsl
Sent: Wednesday, April 03, 2013 6:25 AM
To: solr-user@lucene.apache.org
Subject: Query parser cuts last letter from search term.
Hi,
I have strange problem with Solr query. I added to my Solr Index new
document with "behave!" word inside content. While I was trying to search
this document using "behave" search term it was impossible. Only "behave!"
returns result. Additionaly search debug returns following information:
debug: {
rawquerystring: "behave",
querystring: "behave",
parsedquery: "allText:behav",
parsedquery_toString: "allText:behav",
Does anybody know how to deal with such case? Below is my field type
definition.
Field definition:
<fieldType name="text_general" class="solr.TextField"
positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory"
language="English"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"
preserveOriginal="1" types="characters.txt" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory"
language="English"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"
preserveOriginal="1" types="characters.txt" />
</analyzer>
</fieldType>
where: characters.txt
ยง => ALPHA
$ => ALPHA
% => ALPHA
& => ALPHA
/ => ALPHA
( => ALPHA
) => ALPHA
= => ALPHA
? => ALPHA
+ => ALPHA
* => ALPHA
# => ALPHA
' => ALPHA
- => ALPHA
< => ALPHA
=> ALPHA
--
View this message in context:
http://lucene.472066.n3.nabble.com/Query-parser-cuts-last-letter-from-search-term-tp4053432.html
Sent from the Solr - User mailing list archive at Nabble.com.