我们正在使用Solr建议功能进行 businessName 查找。当用户输入查询以及匹配的名称时,我们希望solr从id,地址,城市,州,国家等字段中发送其他属性。
我尝试使用 payloadField 标记在solr suggester中配置多个字段,但它只返回第一个字段。我尝试过以逗号分隔的方式,但没有运气。以下是来自 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
标记在单个字段中复制所有数据,然后作为有效负载方法传递。