У меня есть модель 'ModelA' с отношением has_many к 'ModelB'.Фильтровать индексный столбец на основе фильтра атрибутов
ModelB имеет описание: текстовая колонка и день: межсетевой столбец (0-6 для будних дней).
Я индексирую столбцы из ModelB в ModelA, поэтому я могу искать через ModelA.
Отрывок из индексного блока в Modela:
indexes model_bs.description, as: :model_b_description
has model_bs.day, as: :model_b_day
set_property field_weights: {
model_b_description: 10
}
Я хотел бы сделать ModelA.search('some description')
но фильтровать возвращаемые результаты, используя model_b_day, обеспечивая описание, которое я ищу на определенный день (позволяет сказать :model_b_day => 5
).
Я могу выполнить поиск с использованием with: { day: 5 }
, но это вернет ModelB, которые соответствуют столбцу дня, а не соответствует ли описание поиску И в этот день.
Любая помощь была бы принята с благодарностью!
EDIT: Я хотел бы отметить, я использую мышление Sphinx v2.0.13
Кажется, что поиск по-прежнему возвращает ModelB до тех пор, пока ModelB имеет описание в определенный день, а не имеет ли оно описание, соответствующее поиску в этот день. – fridgerator
нет, вы абсолютно правы, спасибо! – fridgerator