我无法找到如何在一个建议组件中使用 2个不同结构化字段的方法。 (https://cwiki.apache.org/confluence/display/solr/Suggester)
目标是拥有一个包含这些字段的自动填充模块。
因此,包含suggestcomponent的requesthandler能够在结果数组中显示两个字符串: thisisatitle.com 和这是一个标题
我尝试过的事情是:
我用谷歌搜索,目前唯一的解决方案是使用分片,因为它们允许组合不同的模式。在我看来,运行2台服务器是相当无效的,这将浪费资源,而且可维护性也会受到影响。
欢迎提出任何建议/解决方法。
答案 0 :(得分:1)
要使用多个建议词典(可以应用不同的分析器),您可以use the "multiple dictionaries" configuration as shown in the documentation:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">cat</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">string</str>
</lst>
<lst name="suggester">
<str name="name">altSuggester</str>
<str name="dictionaryImpl">DocumentExpressionDictionaryFactory</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="field">product_name</str>
<str name="weightExpression">((price * 2) + ln(popularity))</str>
<str name="sortField">weight</str>
<str name="sortField">price</str>
<str name="storeDir">suggest_fuzzy_doc_expr_dict</str>
<str name="suggestAnalyzerFieldType">text_en</str>
</lst>
</searchComponent>