Solr ShingleFilterFactory自动建议

时间:2011-05-19 13:40:21

标签: lucene autosuggest solr

我正在使用Solr ShingleFilterFactory进行自动建议。 这是我的字段配置:

<fieldType name="textSpellShingle" class="solr.TextField" positionIncrementGap="100">
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.ShingleFilterFactory" maxShingleSize="4" outputUnigrams="true"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
</fieldType>

我的疑问:

q=rows=0&facet=true&facet.field=spellingShingle&facet.prefix=har

我得到了这些答案:

  • har ry potter
  • har rison ford
  • 等...

问题是当我搜索“pot”或“for”时...我没有得到任何结果。我想建议“ pot ter harry”或“ for d harrison”。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

我认为,结果取决于您的字段spellingShingle的内容。 如果“harry potter”和“potter harry”都是该字段的值,solr / lucene将通过键入“pot”返回“potter harry”