передача разделенных запятыми значений в запросе фильтра ответа solr - PullRequest
14 голосов
/ 14 марта 2011

Я хочу передать значения через запятую в запросе фильтра (fq) ответа solr, в настоящее время, когда я хочу передать несколько категорий, я использую оператор OR.как это fq = categoryId: 3 ИЛИ categoryId: 55 ИЛИ categoryId: 34

есть ли решение для передачи значений, таких как fq = categoryId: 3,55,34

Ответы [ 2 ]

21 голосов
/ 14 марта 2011

fq=categoryId:(3 55 34) должно работать, если ваш оператор по умолчанию - ИЛИ. Еще попробуйте fq=categoryId:(3 OR 55 OR 34). Это называется Группировка полей в синтаксисе запроса Lucene. (Solr поддерживает полный синтаксис Lucene, как описано здесь .)

0 голосов
/ 07 марта 2013

, если ваше поле для запроса фильтра имеет тип text или string, вы также можете использовать fq = categoryId: (IN 3 55 34 44). Но оператор IN не будет работать с целочисленными полями или другими строковыми / текстовыми полями.

...