Solr中带有contextFilter的SuggestorComponent

时间:2018-10-06 10:40:20

标签: solr solrj autosuggest solrconfig

我应该使用哪个查询在solr建议程序组件中实现上下文过滤?

我正在尝试在FuzzyLookupFactory和AnalysisLookupFactory中使用contextFiler,但这会引发以下错误:

  

原因:   org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:服务器在http://localhost:8983/solr/categories处发生错误:此建议程序不支持上下文。

我的建议者:

<searchComponent name="suggest" class="solr.SuggestComponent">
    <lst name="suggester">
        <str name="name">displaySuggester</str>
        <str name="lookupImpl">FuzzyLookupFactory</str>
        <str name="dictionaryImpl">DocumentDictionaryFactory</str>
        <str name="field">autoComplete</str>
        <str name="contextField">productCategory</str>
        <str name="suggestAnalyzerFieldType">string</str>
        <str name="buildOnStartup">false</str>
    </lst>
</searchComponent>

1 个答案:

答案 0 :(得分:1)

reference manual has the required settings

  

上下文过滤使您可以通过单独的上下文字段(例如类别,部门或任何其他标记)过滤建议。由DocumentDictionaryFactory支持时,AnalyticInfixLookupFactory和BlendedInfixLookupFactory当前支持此功能。

请务必注意,这是Analyzing**Infix**LookupFactory,而不是AnalyzingLookupFactory

您已经在使用DocumentDictionaryFactory,因此请切换到AnalyzingInfixLookupFactoryBlendedInfixLookupFactory使其正常工作。