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.

Reply via email to