Solr dismax: Как указать поле для поиска с параметром ‘qs’?

Я хотел бы спросить, если кто-то знает, как указать поле с помощью параметра ‘qs’. Я имею в виду, например, иметь документ с этими полями и содержанием

  • id: 1
  • название: футбол
  • ключевые слова: футбол, гол, вратарь
  • фразу_keywords: премьер-лига, лига чемпионов, золотые награды,

Затем я делаю поиск по: ‘Premier Award’, используя Dismax с параметром qs: 20. Итак, параметры будут такими:

defType:q=foo&defType=dismax&q:"premier awards"&qs:20

Результатом будет «имя», верно, но я просто применяю qs: 20 к полю ключевые слова фразы, потому что если поиск: ‘лига цели’ не соответствует какому-либо результату, хотя если я прерву поиск в: ‘цель премьер’ ИЛИ ​​цель ИЛИ премьер.

Потому что я хотел бы искать так:

phrase_keywords:"goal premier" or keywords:goal OR keywords:premier

но в фразу_keywords с «qs» (близость) и для ключевого слова обычный поиск.

2

Решение

Нет, вы не можете указать поле в Достаточное количество пары. Обычно Достаточное количество Param использует с QF param, что означает поля запроса.

Для получения дополнительной информации о синтаксисе синтаксического анализатора DisMax — посмотрите здесь — https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser

Об этом запросе

фразу_keywords: «цель премьер» или ключевые слова: цель ИЛИ ключевые слова: премьер

Я думаю, вы могли бы достичь этого, комбинируя несколько запросов

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]