Я использую Searchkick для поиска товаров. Работает отлично, но теперь я добавляю фильтры. Из-за характера продуктов, которые я всегда хочу показывать для выбранного фильтра, вместо использования AND всегда нужно использовать OR.
Я строю поиск как:
Product.search(
"shower",
fields: [:name]
where: {showers_ids: [46,41], accessories_ids: [104, 102]},
aggs: [: showers_ids, : accessories_ids, : bath_ids]
)
Это попытка запроса:
, где IN (46 ИЛИ 41) И (104 ИЛИ 102)
Это никогда не вернет ни одного товара, так как товары находятся только в одной категории. Но я бы хотел показать товары из всех категорий, поэтому он должен выглядеть примерно так:
, где IN (46 ИЛИ 41) ИЛИ (104 ИЛИ 102)