Ответ 1
Вы можете использовать
fq=cat:(computers OR phones)
Можно ли искать (с apache Solr) для элементов, которые находятся в одной из нескольких категорий, используя запрос фильтра, например. элементы в категории "компьютеры" или "телефоны"
Когда я хочу искать элементы в категории компьютеры И телефоны, я печатаю:
select/?q=...&fq=cat:computers&fq=cat:phones
но вместо AND
?
OR
Вы можете использовать
fq=cat:(computers OR phones)
Запрос фильтра - это всего лишь запрос - такой сложный, насколько вам бы хотелось. Таким образом, вы можете создать запрос, например,
fq=(cat1:val1 OR cat2:val2 OR (cat3:(val3 AND val4)))
... или что-то еще.
Единственное различие между запросом на фильтрацию и простым старым запросом (помимо проблем с памятью и кэшированием, о которых вы также можете подумать) заключается в том, что запрос фильтра не влияет на оценки релевантности вообще. Но с точки зрения сложности вы можете делать все, что хотите.