我有一个索引,我希望根据某些条件过滤某些属性。
以下结构工作正常
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_idC.month_timestamps = A.valid_date
请提出一些方法来实现这一目标。作为thinking_sphinx的新手,我无法正确使用条件和条款。
答案 0 :(得分:1)
添加
#Assuming Class C is stored in db as Cs
where "Cs.month_timestamps = valid_date"
到这样的define_index
区块
define_index 'index_for_a' do
indexes ...
...
has B.C.plant_id, :as => :plant_id
join B.C
#Assuming Class C is stored in db as Cs
where "Cs.month_timestamps = valid_date"
end
<强>更新强>
使用CrazyDiv
建议的修改更新了答案<强>更新强>
尝试这样的事情
has "IFNULL(Cs.plant_id,0)", :as => :plant_id