Выберите запрос для поиска с 2 или более словами без двойных кавычек в Solr
У меня есть столбец с именем title. Я хочу найти этот столбец. Там нет проблем, когда я использую одно слово, как title:'sport'
ИЛИ ЖЕ title:"sport"
, Оба дают одинаковое количество записей.
Моя проблема заключается в том, что при поиске 2 или более слов без двойных кавычек (двойные кавычки дают точный результат, например: title:"sport education"
).
title:'sport education'
- возвращать не относящиеся к делу записи (больше названия не имеют спортивного или образовательного слова)
+title:'sport education'
- возвращает одинаковое количество записей для поискаtitle:'sport' / title:"sport"
,
Что я должен сделать, чтобы получить хотя бы одно поисковое слово в столбце?
Примечание: Solr версия 6.3.0
Заранее спасибо!
2 ответа
Могу поспорить, что вы ищете следующую цепочку параметров:
http://$solr_host:8983/solr/magazines/select&q=sport+education&df=title&q.op=OR
Позвольте мне расшифровать это для вас:
- д = спорт + образование. Вы можете использовать запрос в такой свободной форме.
- DF = название. Здесь вы указываете поле по умолчанию для поиска.
- q.op = ИЛИ (по умолчанию, не стесняйтесь опускать его).
$q
будет размечен в соответствии с$df
fieldType и пункты будут объединены через ИЛИ, например:title:sport OR title:education
Для получения дополнительной информации вы можете следить за общими параметрами запроса или локальными параметрами в запросах.
После анализа вашего запроса title:'sport education'
будет выглядеть так
title:sport
text:education
одинарная кавычка не работает как двойная кавычка.
так срок education
ищется в поле по умолчанию df
(текст, проверьте это в файле solr-config)
В файле схемы вы могли скопировать много других полей в текст, используя copyfield
так что вы получаете другие документы (поля, в которых есть образование)
Вы должны указать имя поля для поиска другого термина в другом поле, напримерtitle:sport name:sachin
,
В запросе фразы с использованием двойных кавычек title:"sport education"
это дает вам все документы с полем заголовка, имеющим sport education
в этом.