我使用Sunspot Solr在我们的Ruby on Rails应用程序中使用MongoDB数据库(Mongo mapper)进行索引和搜索
每当我向Solr查询结果时,它都会发回有关存储在数据库中的文章的整个文档内容,这会使查询变得非常慢。
我想要做的是只在查询中包含特定字段。
我发现fl可用于指定要返回的一组字段,但我收到错误,请参阅打击:
searchable :if => :published do
text :title, :boost => 5
end
def self.search_keywords keywords
search = Top.search do
fulltext keywords
adjust_solr_params do |params|
params[:fl] = "title_text"
end
end
search.results
end
Solr请求:
SOLR Request (24.9ms) [ path=select parameters={fq: ["type:Top"], q: "test", fl: "title_text", qf: "title_text", defType: "edismax", start: 0, rows: 30} ]
错误:
未定义的方法`匹配'为零:NilClass
感谢。
答案 0 :(得分:0)
在fl中添加参数“id”,因为命中块需要id参数来解析结果。