【发布时间】:2015-09-07 08:27:55
【问题描述】:
我们正在使用 Solr 建议功能进行 businessName 查找。当用户输入查询以及匹配的名称时,我们希望 solr 从配置文件中发送其他属性,例如 id、地址、城市、州、国家等字段。
我尝试使用 payloadField 标签在 solrSuggester 中配置多个字段,但它只返回第一个字段。我曾尝试将它们以逗号分隔的方式放置,但没有运气。这是 solrconfig.xml 文件中的当前配置。
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">suggest</str>
<str name="lookupImpl">AnalyzingLookupFactory</str>
<str name="storeDir">suggester_fuzzy_dir</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">businessName</str>
<str name="payloadField">profileId</str>
<str name="payloadField">email</str>
<str name="payloadField">city</str>
<str name="payloadField">state</str>
<str name="payloadField">postalCode</str>
<str name="payloadField">phoneNumber</str>
<str name="weightField">businessName</str>
<str name="suggestAnalyzerFieldType">text_general</str>
<str name="buildOnStartup">true</str>
<str name="buildOnCommit">true</str>
<str name="preserveSep">false</str>
</lst>
</searchComponent>
在结果中发送多个有效负载需要什么配置?谢谢。
编辑:
这是 solr 建议器的当前输出。
{
"suggest": {
"suggest": {
"Rock": {
"numFound": 1,
"suggestions": [
{
"term": "Rockview Properties",
"weight": 0,
"payload": "123456789"
}
]
}
}
}
}
我的期望:
建议者有效负载包含多个字段的一种方式。有效载荷字段还包含哪些数据属于哪个字段的信息。我不是在寻找使用copyField 标签复制单个字段中的所有数据,然后作为有效负载方法传递。
【问题讨论】:
-
您可以复制/粘贴您现在的输出吗?还有你对输出的期望是什么?
-
我不认为这是有效载荷的功能。这是一篇详细解释有效载荷的文章。 lucidworks.com/blog/end-to-end-payload-example-in-solr