Solr Suggester 是不是支持中缀搜索?

Posted

技术标签:

【中文标题】Solr Suggester 是不是支持中缀搜索?【英文标题】:Does Solr Suggester support infix search?Solr Suggester 是否支持中缀搜索? 【发布时间】:2011-03-15 02:35:18 【问题描述】:

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

【问题讨论】:

【参考方案1】:

是的,它支持。 编辑您的 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。

【讨论】:

【参考方案2】:

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

【讨论】:

是的,我知道。但是是否有可能以某种方式将 N-Gram Tokenizer 与 Suggester 一起使用,或者为 Suggester 组件使用文本字段?!我不这么认为。

以上是关于Solr Suggester 是不是支持中缀搜索?的主要内容,如果未能解决你的问题,请参考以下文章

Solr solr对拼音搜索和拼音首字母搜索的支持

Elasticsearch Elasticsearch Suggester 自动纠错 详解

Solr的特性都在这儿了

Elasticsearch:Completion suggester - 实现 Search-As-You-Type

Elasticsearch:Completion suggester - 实现 Search-As-You-Type

金沙数据-《艳遇SOLR(solr in action)》--2 千呼万唤始出来 犹抱琵琶半遮面