Apache Solr - ИЛИ в запросе фильтра - PullRequest
38 голосов
/ 29 сентября 2011

Можно ли искать (с помощью Apache Solr) элементы, относящиеся к одной из нескольких категорий, с помощью фильтра фильтра, например элементы в категории «компьютеры» ИЛИ «телефоны»

Когда я хочу выполнить поиск элементовв категории компьютеры И телефоны я набираю:

select/?q=...&fq=cat:computers&fq=cat:phones

, но можно использовать OR вместо AND?

Ответы [ 2 ]

61 голосов
/ 29 сентября 2011

Вы можете использовать

fq=cat:(computers OR phones)
45 голосов
/ 29 сентября 2011

Фильтр запроса - это просто запрос - настолько сложный, насколько вы хотите.Таким образом, вы, безусловно, можете создать запрос, например,

fq=(cat1:val1 OR cat2:val2 OR (cat3:(val3 AND val4)))

... или любой другой.

Единственная разница между запросом фильтра и простым запросом (кроме памяти иПроблемы кэширования, о которых вы, возможно, захотите подумать), заключаются в том, что запрос фильтра вообще не влияет на оценки релевантности.Но с точки зрения сложности, вы можете делать все, что захотите.

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