太阳黑子的“ LIKE”查询
|
我正在使用
sunspot
。如何运行LIKE
查询(LIKE %q%
)?我想做这样的事情:
@search = Sunspot.search(User) do |q|
q.text_fields { with(:company_name).like(params[:q]) }
end.results
代替:
@search = Sunspot.search(User) do |q|
q.text_fields { with(:company_name).starting_with(params[:q]) }
end.results
这部分地为我工作。回顾sunspot
代码,我发现了这段代码:
class StartingWith < Base
private
def to_solr_conditional
\"#{solr_value(@value)}*\"
end
end
它基本上会生成以下黑子搜索哈希:
Sunspot.search(User) do |q|
q.text_fields { with(:company_name).starting_with(\"sta\")} }
end
=> Sunspot::Search:{:q=>\"*:*\", :fq=>[\"type:User\", \"company_name_text:sta*\"]}
如果没有更简单的实现LIKE %query%
的方法,我该如何使用生成SOLR逻辑的方法to_solr_conditional
创建新的类Like
?
没有找到相关结果
已邀请:
1 个回复
期差骇蓟
b。与EDismax Handler一起使用每晚构建的Solr。 请参阅有关黑子文档的Wiki文章或有关SO的类似问题。