2

我应该使用哪个查找来在 solr Suggestor 组件中实现上下文过滤?

我正在尝试在 FuzzyLookupFactory 和 AnalyzingLookupFactory 中使用 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>
4

1 回答 1

1

参考手册具有所需的设置

上下文过滤允许您通过单独的上下文字段(例如类别、部门或任何其他标记)过滤建议。在 DocumentDictionaryFactory 的支持下,AnalyzingInfixLookupFactory 和 BlendedInfixLookupFactory 目前支持此功能。

重要的是要注意这是Analyzing**Infix**LookupFactory,而不是AnalyzingLookupFactory

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

于 2018-10-06T18:29:15.110 回答