class Cat < ActiveRecord::Base
searchable do
string :color
end
end
class Dog < ActiveRecord::Base
searchable do
string :color
end
end
鉴于上面的模型Cat
和Dog
,如何对所有狗+只有褐色的猫进行太阳黑子搜索。
|dogs|color| |cats|color|
------------ ------------
| 1 |black| | 1 |black|
| 2 |brown| | 2 |brown|
| 3 | red | | 3 | red |
对于上述狗/猫,我想要Dogs [1, 2 3]
和Cat [2]
。
我想要下面的内容,但请with
仅适用于Cats
。
Sunspot.search(Dog, Cat) do
with :color, "brown"
end
是否有with
参数是模型类型?如果是,我可以这样做:
Sunspot.search(Dog, Cat) do
any_of do
with :color, "brown"
with :model, Dog
end
end
如何围绕被搜索的模型确定太阳黑子DSL片段的范围?
答案 0 :(得分:0)
我最终在模型索引中添加了一个字段table_name
并使用了它。
class Dog < ActiveRecord::Base
searchable do
string :color
string :table_name do Dog.table_name end
end
end
Sunspot.search(Dog, Cat) do
any_of do
with :color, "brown"
with :table_name, Dog.table_name
end
end