Этот вопрос ранее был выделен при переполнении стека, но применение их предложений, похоже, не исправляет мой случай.
Я хочу вернуть предложение для поля имени с "Адель" в качестве ввода.
Я использую следующий URL: http://localhost:8983/solr/test8/suggest?suggest.build=true&suggest=true&suggest.q=name:adele
, который возвращает следующий результат:
{
"responseHeader":{
"status":0,
"QTime":10},
"command":"build",
"suggest":{"mySuggester":{
"name:adele":{
"numFound":0,
"suggestions":[]}}}}
Однако обычный поиск http://localhost:8983/solr/test8/select?q=name%3Aadele
возвращает правильный результат.
У меня есть поле имени как сохраненное = true в управляемая схема
<field name="name" type="text_general" stored="true"/>
В solrconfig.xml я определяю обработчик запроса как:
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest.dictionary">mySuggester</str>
<str name="suggest">true</str>
<str name="suggest.count">10</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
Который ссылается на поисковый компонент Suggester как:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="storeDir">suggester_fuzzy_dir</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">name</str>
<str name="suggestAnalyzerFieldType">textSuggest</str>
<str name="buildOnStartup">false</str>
<str name="buildOnCommit">false</str>
</lst>
</searchComponent>
Я попытался перезапустить с bin/solr restart
, и мой обработчик запросов и компонент поиска соответствуют результатам в Документах Apache Solr сбиты взяты из других онлайн-источников, но результаты не возвращаются.
- Что может быть источником этой проблемы?
- Требуются ли какие-либо дополнительные компоненты / код для ее устранения?