2016-04-15 59 views
0

我用太陽黑子Solr的索引和我們的Ruby on Rails應用程序與數據庫的MongoDB(蒙戈映射器)搜索結果返回Solr的Sunspot-指定字段

我每次查詢的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} ] 

錯誤:

未定義方法'match'for nil:NilClass

謝謝。

回答

0

在fl中添加參數「id」,因爲命中塊需要id參數來解析結果。