Есть ли способ выполнить запрос в SOLR, где у меня есть список слов, которые должны быть в разных полях? - PullRequest
0 голосов
/ 13 декабря 2018

все.Я пытаюсь разработать запрос, который соответствует следующему:
Найти набор слов, которые появляются в группе полей.Например, я хочу найти документы, содержащие слова «футбол», «мяч» и «вратарь» в одном или обоих полях: «имя_спорта» и «описание».
Проблема, с которой я столкнулся, заключается в том, что мне нужно рассматривать оба поля кактолько один для получения результатов, таких как:

 {  
        "sport_name":"soccer",  
        "description": "...played with a ball... positions are goalkeeper"  
    }  

Мне нужно, чтобы слова появлялись в любом поле, но все слова должны появляться в «объединенном большем поле».
Есть ли способ сделатьэто во время запроса?
Спасибо !!

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете сделать это, используя обработчик edismax (defType=edismax), задав q.op=AND (поскольку должны присутствовать все термины) и используя qf=sport_name description, чтобы сказать Solr, что нужно искать заданные термины в обоих полях.

Вы также можете использовать qf=sport_name^2 description, чтобы сказать, что хотите взвешивать попадания в поле sport_name в два раза больше, чем попадания в поле описания.Таким образом, если бы был вид спорта с именем ball, этот удар внес бы больший вклад в счет, чем если бы в поле description было то же содержание.

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