Как сделать запрос IN в Solr? - PullRequest
27 голосов
/ 11 мая 2011

У меня есть документы с многозначным полем «sharedTo», которое содержит группы, к которым этот документ является общим.Теперь я хочу найти все документы, которые доступны как минимум одной из списка заданных групп.Например, я хочу найти все документы, которые являются общими для группы «foo» или группы «bar» или обоих.В настоящее время я создаю запрос следующим образом:

sharedTo:"foo" OR sharedTo:"bar"

Для каждой группы я просто добавляю новую часть запроса ИЛИ.Это работает, однако мне интересно, есть ли более эффективный способ сделать это как

sharedTo IN ('foo', 'bar')

Ответы [ 2 ]

58 голосов
/ 11 мая 2011

если ваш оператор по умолчанию OR, то вы можете просто дать запрос как

sharedTo :( 'foo' 'bar')

Если вашим оператором по умолчанию является AND, вам придется сделать это следующим образом: sharedTo: (foo OR bar)

0 голосов
/ 21 сентября 2016

Вышеупомянутое решение не работает для меня. Но этот синтаксис сделал

имя_ столбца: + (значение1 значение2)

http://harmssite.com/2012/09/solr-query-for-mimicking-sql-in-operator-functionality/

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