我对Solr和Rails Sunspot宝石都很陌生,但它对于在大型数据库上进行复杂搜索看起来非常有前景。
我要做的是允许我的rails应用程序中的模型在几个全文列上搜索,然后搜索其“过滤器”的集合(这只是一个has_and_belongs_to_many名称关联)。
我尝试按如下方式设置我的模型搜索块
self.searchable do
text :name, :boost => 5
text :description, :instructions
text :filters do
filters.map(&:name)
end
end
我的控制器看起来像这样:
@search = ModelName.search do
keywords params[:q].to_s
end
但是,我似乎无法根据过滤器关联中找到的关键字生成任何结果。难道我做错了什么?这对我来说都很新鲜。
答案 0 :(得分:2)
当您最初设置搜索类时,需要将数据重新索引到Solr中。你做到了吗?如果不是:
rake sunspot:reindex