我应该使用哪个查询在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>
答案 0 :(得分:1)
reference manual has the required settings:
上下文过滤使您可以通过单独的上下文字段(例如类别,部门或任何其他标记)过滤建议。由DocumentDictionaryFactory支持时,AnalyticInfixLookupFactory和BlendedInfixLookupFactory当前支持此功能。
请务必注意,这是Analyzing**Infix**LookupFactory
,而不是AnalyzingLookupFactory
。
您已经在使用DocumentDictionaryFactory
,因此请切换到AnalyzingInfixLookupFactory
或BlendedInfixLookupFactory
使其正常工作。