У меня есть индекс, в котором я хочу отфильтровать некоторые атрибуты на основе некоторого состояния.Состояние мышления сфинкса в HAS
Ниже структура работает прекрасно
Class A
attr_accessible :vaild_date
belongs_to: B
define_index 'index_for_a' do
indexes ...
...
has B.C.plant_id, :as => :plant_id
end
end
class B
has_many: C
end
class C
attr_accessible :plant_id,:month_timestamps
end
Теперь мой класс C имеет много строк. Я хочу иметь plant_id только для строк, где
C.month_timestamps = A.valid_date
Пожалуйста, предложите некоторый подход для достижения этого. Будучи новым для think_sphinx, я не могу правильно использовать условия и предложения.
Благодаря отлично работает. Не могли бы вы также сказать, как добавить нулевое состояние. то есть b.c.plant_id должен быть 0, когда нет строки в b.c. – crazydiv
Все, что входит в двойные кавычки, является простым синтаксисом SQL. Например, вы можете написать 'has 'B.C.plant_id как plant_id" ', как раз так, как вы это делали с' where'. То же самое можно использовать и с «индексами». Поэтому я уверен, что вы можете понять, как это сделать. 'ts' фактически генерирует инструкцию' SQL' и выгружает ее в файл. Вы можете проверить это, чтобы узнать больше. – Litmus
Спасибо. Не могли бы вы помочь мне в добавлении нулевого состояния. Я хочу, чтобы plant_id был установлен как ноль, когда нет строки в C. Я пытался с CASE КОГДА, но не повезло – crazydiv