我是ROR的新手。我正在使用思维狮身人面像。我需要使用一个布尔字段进行索引。也就是说,我列出了活跃的记录是真的。
define_index do
indexes car.name, :as => :car
indexes car_model.car_make.name, :as => :car_make
indexes city_name.city , :as=> :city_name
indexes car_active, :as=>:is_active, :type=>:boolean, :default=>true
end
我需要列出属于active的汽车详情是真的。你能救我吗?
答案 0 :(得分:9)
如果要对布尔值进行过滤,那么将它作为Sphinx中的属性而不是字段会更好。字段是人们将搜索的文本数据,属性是您作为开发人员将订购和过滤的内容。
因此,要将该布尔列设置为属性:
define_index do
# fields
indexes car.name, :as => :car
indexes car_model.car_make.name, :as => :car_make
indexes city_name.city , :as=> :city_name
# attributes
has car_active
end
然后过滤:
Model.search 'foo', :with => {:car_active => true}