I found the conf minGramSize="2",which will only create index with at least 2 chars,j will not match also StandardTokenizerFactory will tokenize st j to st and j
2015年10月26日星期一,Brian Narsi <bnars...@gmail.com> 写道: > I have the following field type on a field ClientName: > > <fieldType name="txt_edgngrm" class="solr.TextField" > positionIncrementGap="100"> > <analyzer type="index"> > <tokenizer class="solr.StandardTokenizerFactory"/> > <filter class="solr.LowerCaseFilterFactory"/> > <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" > maxGramSize="25"/> > </analyzer> > <analyzer type="query"> > <tokenizer class="solr.StandardTokenizerFactory"/> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > </fieldType> > > > For data where > > ClientName = st jude medical inc > > When querying I get the following: > > 1) st --> result = st jude medical inc (works correctly) > 2) st j --> No results are returned (NOT correct) - Expect to find st jude > medical inc > 3) st ju m --> No results are returned (NOT correct) - Expect to find st > jude medical inc > 4) st ju me --> result = st jude medical inc (works correctly) > 5) st ju inc --> No results are returned (NOT correct) - Expect to find st > jude medical inc > > Is my field type definition correct? Or do I need to query differently? > > Thanks >