2011-09-07 75 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