Hello, I have confronted with strange behavior of the Solr search and I have no idea how to fix it. Version:
* solr-spec 4.3.0 * solr-impl 4.3.0 1477023 - simonw - 2013-04-29 15:10:12 * lucene-spec 4.3.0 * lucene-impl 4.3.0 1477023 - simonw - 2013-04-29 14:55:14 There is field in schema: <field name="global_name" type="text_general_ngrammed" indexed="true" stored="true" /> <fieldType name="text_general_ngrammed" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" preserveOriginal="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="30" /> </analyzer> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" preserveOriginal="1"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> Also there is a record with global_name = "Hong Kong Forever Fame Industrial Limited" When I make search with query like: select?q=global_name:(((hung~1+OR+hung^1.2)+(kong~1+OR+kong^1.2)+(forever~2+OR+forever^1.2)+(fame~1+OR+fame^1.2)+(industrial~2+OR+industrial^1.2)))&start=0&rows=10&q.op=AND&version=2.2 select?q=global_name:(((hqng~1+OR+hqng^1.2)+(kong~1+OR+kong^1.2)+(forever~2+OR+forever^1.2)+(fame~1+OR+fame^1.2)+(industrial~2+OR+industrial^1.2)))&start=0&rows=10&q.op=AND&version=2.2 select?q=global_name:(((hrng~1+OR+hrng^1.2)+(kong~1+OR+kong^1.2)+(forever~2+OR+forever^1.2)+(fame~1+OR+fame^1.2)+(industrial~2+OR+industrial^1.2)))&start=0&rows=10&q.op=AND&version=2.2 ... I get the expected result: record for "Hong Kong Forever Fame Industrial Limited". However, for some query: select?q=global_name:(((hing~1+OR+hing^1.2)+(kong~1+OR+kong^1.2)+(forever~2+OR+forever^1.2)+(fame~1+OR+fame^1.2)+(industrial~2+OR+industrial^1.2)))&start=0&rows=10&q.op=AND&version=2.2 select?q=global_name:(((heng~1+OR+heng^1.2)+(kong~1+OR+kong^1.2)+(forever~2+OR+forever^1.2)+(fame~1+OR+fame^1.2)+(industrial~2+OR+industrial^1.2)))&start=0&rows=10&q.op=AND&version=2.2 ... The result is empty. It looks like the result depends on letter which user write instead of "o" in "hong". I observe such behavior if there are a lot of records (about 94k) which is expected amount. When there is only one record(case for testing) for "Hong Kong Forever Fame Industrial Limited" everything works OK. I would be grateful if you could suggest how to fix this problem. Khrystyna Popadyuk Developer phone: +380 63 324 40 58 skype: Khrystyna.Popadyuk [Eleks] eleks.com<http://www.eleks.com/> ________________________________ This e-mail may contain privileged and confidential information. If you are not the intended recipient, be aware that any use, disclosure, copying or distribution of this e-mail or any attachments is prohibited. If you have received this e-mail in error, please notify us immediately by returning it to the sender and delete this copy from your system. Thank you.