Мы используем функцию Solr Recommendester для поиска businessName. Когда пользователь вводит запрос вместе с совпадающими именами, мы хотим, чтобы solr отправил другие атрибуты из профиля, например, поля идентификатора, адреса, города, штата, страны и т.д.
Я попытался настроить несколько полей в solr summester с помощью тега payloadField, но он возвращает только первое поле. Я попытался положить их в запятую, но не повезло. Вот текущая конфигурация из файла 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>
Какая конфигурация требуется для отправки нескольких полезных данных в результате? Спасибо.
Edit:
Это токовый выход анализатора Solr.
{
"suggest": {
"suggest": {
"Rock": {
"numFound": 1,
"suggestions": [
{
"term": "Rockview Properties",
"weight": 0,
"payload": "123456789"
}
]
}
}
}
}
Ожидание:
Способ использования полезной нагрузки summester содержит более одного поля. Поле полезной нагрузки также содержит информацию о том, что какие данные относятся к полю. Я не ищу, чтобы копировать все данные в одном поле с помощью тега copyField
, а затем передавать как подход к полезной нагрузке.