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