【发布时间】:2020-11-22 20:02:26
【问题描述】:
我尝试在 Solr 中编写自己的使用上下文字段的建议器。现在配置看起来像这样:
solrconfig.xml
<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">name</str>
<str name="suggestAnalyzerFieldType">textSuggest</str>
<str name="contextField">tags</str>
</lst>
</searchComponent>
托管模式
<field name="tags" type="textSuggest" multiValued="true" indexed="true" stored="true"/>
<copyField source="address" dest="tags"/>
<copyField source="city" dest="tags"/>
<copyField source="state" dest="tags"/>
<copyField source="categories" dest="tags"/>
<copyField source="stars" dest="tags"/>
当我进行查询时,它看起来像
suggest?сfq=Scottsdale&q=carlos.
我想查询
suggest?сfq=city:Scottsdale&q=carlos 或suggest?сfq=stars:5.0&q=carlos。
所以我想区分上下文字段。
我知道我可以使用有效载荷字段,但我不明白如何使用。或者改一个存储上下文字段的结构,但是找不到。
【问题讨论】:
-
这能回答你的问题吗?
标签: java solr autosuggest search-suggestion