3

Solr Suggester 组件的wiki 页面没有提到如何搜索提供的字段?它只是一个前缀,还是也可以进行中缀搜索?

4

2 回答 2

2

是的,它支持。编辑您的 solrconfig.xml,转到 searchComponent 元素,从 org.apache.solr.spelling.suggest.tst.TSTLookupFactory 更改“lookupImpl”的值(如Solr Suggester 组件示例的 wiki 页面所示,但它可以是另一个类似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。

于 2016-07-14T10:24:13.620 回答
0

您可以针对在其分析链中具有N-Gram标记器的索引字段执行“中缀”或 n-gram 样式的自动建议活动。

于 2011-03-31T19:20:34.750 回答