solr sunspot全文搜索基于布尔字段

时间:2014-11-13 11:26:58

标签: ruby-on-rails ruby solr full-text-search sunspot

我的db field1和field2中有两列。我想根据另一个字段进行全文搜索。

我需要以下方案

if field2.nil?
 fulltext search with field1
else
 fulltext search with field2
end

model.rb

searchable do 

 text :field1
 text :field2

  boolean :check_fields do
   self.field2.nil? ? false : true
  end
end

controller.rb

Model.search do     
 fulltext keyword, :fields => :field1 if :check_fields

 fulltext keyword, :fields => :field2 if :check_fields
end

我没有得到预期的结果。如何实现基于条件的全文搜索。

我甚至试过"任何做"在这两个全文之间。

你们可以帮助我获得输出

1 个答案:

答案 0 :(得分:0)

这解决了我的问题 我可以直接在模型中写出我的条件。

model.rb

searchable do 
 text :field1
 text :searchable_field do
  field2.nil? ? field1 : field2
 end 
end

controller.rb

Model.search do     
 fulltext keyword, :fields => :searchable_field
end