Solr Suggester是否支持中缀搜索?

时间:2011-03-15 02:35:18

标签: autocomplete solr prefix infix-notation

wiki page of the Solr Suggester component未提及如何搜索提供的字段?它只是一个前缀,还是可以进行中缀搜索?

2 个答案:

答案 0 :(得分:2)

是的,它支持。 编辑你的solrconfig.xml,转到searchComponent元素,从org.apache.solr.spelling.suggest.tst.TSTLookupFactory更改“lookupImpl”的值(如 wiki page of the Solr Suggester component示例所示,但它可以是另一个像FuzzyLookupFactory等...)到AnalyzingInfixLookupFactory。

需要与此非常相似:

<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
 <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">yourSearchFieldName</str>
<str name="suggestAnalyzerFieldType">yourSearchFieldType(String, text-general)</str>
<str name="buildOnStartup">true</str>
</lst>
</searchComponent>

<requestHandler name="/suggest" class="solr.SearchHandler" 
              startup="lazy" >
<lst name="defaults">
  <str name="suggest">true</str>
  <str name="suggest.count">10</str>
</lst>
<arr name="components">
  <str>suggest</str>
</arr>
</requestHandler>

请勿忘记在更改后重启您的solr。

答案 1 :(得分:0)

您可以针对其分析链中包含N-Gram Tokenizer的索引字段执行“中缀”或n-gram样式自动建议活动。