Подтвердить что ты не робот

Apache Solr - ИЛИ в запросе фильтра

Можно ли искать (с apache Solr) для элементов, которые находятся в одной из нескольких категорий, используя запрос фильтра, например. элементы в категории "компьютеры" или "телефоны"

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

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

но вместо AND?

можно использовать OR
4b9b3361

Ответ 1

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

fq=cat:(computers OR phones)

Ответ 2

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

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

... или что-то еще.

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