Я настроил окно поиска для сайта drupal и немного запутался, как заставить поиск работать с частичными совпадениями и разумным автозаполнением.
Некоторые основные детали:
- Друпал: 9.3.9
- Модули: Search API, Search API Autocomplete, Search API Solr
- Солер: 8.11.1
Поиск ищет по разным полям из нескольких типов контента. Сначала я установил типы полей «Полный текст». Затем я заметил, что совпадают только полные слова. Таким образом, при поиске «идея» страницы, содержащие «идеи», не будут найдены. Это сработало, когда я изменил все типы полей на "Fulltext ngram". Но: теперь автозаполнение также предлагает все частичные варианты.Таким образом, ввод «супер» будет предлагать «суперх», «суперхэ» и «супергерой». Это не очень полезно для посетителей сайта.
Что я уже пробовал: автозаполнение использует подсказку «Получить с сервера». Я попытался включить дополнительный модуль «search_api_solr_autocomplete». Это добавляет еще три подсказки: «Проверка орфографии Solr», «Подсказка Solr» и «Условия Solr». Средство проверки орфографии не дало никаких предложений автозаполнения. Как и Solr Suggester. Solr Terminal делает то же самое, что и «Получить с сервера», предлагая все промежуточные шаги между искомым словом и готовым термином, буква в букву.
Я ищу подсказку, как настроить это так, чтобы поиск соответствовал токенам с частичным поиском, но для функции автозаполнения использовались только полные токены. Может быть, шаг конфигурации отсутствует?