Поле запроса Solr Обязательно для поиска по запросу - PullRequest
0 голосов
/ 10 сентября 2018

Я использую Bitnami Apache Solr 7.4.0 (Последняя версия)

Я индексирую документы

Теперь в админ-панели для поиска запросов мне нужно написать поле: значение формат

Но я просто хочу искать только с значением

Пример:

q = поле: значение (работает)

q = значение (дает 0 результатов)

Итак, что я должен настроить в файле schema.xml, в котором я могу искать только по значению поля

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

Ничего особенного не нужно настраивать, но вы должны использовать парсеры запросов edismax или dismax. Эти разборы запросов сделаны для поддержки пользовательского ввода в свободной форме, и вы можете использовать его только с q=value. Вы указываете Solr использовать синтаксический анализатор запросов edismax, указав defType=edismax в URL запроса.

Поскольку поле для поиска больше не является частью фактического запроса, вы указываете обработчику edismax, какое поле искать, задав параметр qf. Вы можете задать несколько полей в qf, и вы можете назначить каждому полю разные веса, используя синтаксис field^<weight>.

Итак, чтобы получить тот же результат, что и в первом примере:

?q=value&defType=edismax&qf=field
0 голосов
/ 11 сентября 2018

В Solr Admin -> Страница запроса вы можете добавить имя поля к df , к которому вы хотите направить свои запросы. df означает поле поиска по умолчанию . Для использования вам не нужно использовать парсеры dismax или edismax. df будет работать со стандартным парсером Query. Итак, я надеюсь, что это то, что вы ищете. Спасибо.

0 голосов
/ 10 сентября 2018

Вам не нужно изменять схему.Вы можете создать свой собственный обработчик запросов, который может выполнять операции запроса в соответствии с вашими требованиями, создав новый requestHandler в файле solrconfig.xml.Для получения более подробной информации о том, как это сделать, см. здесь .

При этом я бы посоветовал вам сначала пройти через основы запросов в solr и понять, как различные параметры, такие как q, qf, defType и т. Д. Работают и какие анализаторы запросов (стандартные, dismax и т. Д.) Доступны для использования.См это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...