2011-09-07 102 views
3

我是新來的使用Solr太陽黑子的Rails。我試圖使用Solr太陽黑子最低匹配

<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/> 

所以自然不是所有的令牌都會匹配。我無法弄清楚如何在我的搜索http://outoftime.github.com/sunspot/docs/index.html中使用minimum_match功能。任何幫助將不勝感激。

我試過,我只得到0的結果:

Articles.search do 
    fulltext params[:q] do 
    :minimum_match => 1 
    end 
end 

回答

6

你幾乎沒有。哈希語法是當您將最小匹配作爲參數傳遞給fulltext時。

Article.search do 
    fulltext params[:q], :minimum_match => 1 
end 

在一個塊中,您需要一個方法調用。

Article.search do 
    fulltext params[:q] do 
    minimum_match 1 
    end 
end 
+0

很酷。在我放入EdgeNGramFilterFactory過濾器之前,這是有效的。然後,一旦我這樣做,我回到獲得0結果。我如何使用EdgeNGramFilterFactory。 – Cyrus

+0

啊,看起來你有一個問題,我錯過了其中一個。通過處理minimum_match調用,您可能需要編輯此問題或發佈一個新問題,並提供有關EdgeNGram設置的更多詳細信息。您可能會包括對schema.xml所做的更改,輸入字段值示例以及失敗查詢示例。 –

+0

http://stackoverflow.com/questions/5598114/edgengramfilterfactory-not-working-not-indexing – Cyrus