在我的Rails应用程序中,我有一个问题模型,用sunspot solr设置,带有一个字段“text”,我想在该字段中搜索字词之间的逻辑或。我发现将minimum_match设置为1解决了我的问题,但是我还想通过提高具有多个单词匹配的问题来排序结果。有没有办法与Solr做到这一点?这些文档对于排名功能没有什么帮助。Solr最低匹配结果排名
编辑:这是我在表演控制器
@questions = Question.solr_search do
fulltext params[:query], :minimum_match => 1
end.results
根据我的经验,也注意到[这里](http://blog.websolr。com/post/1299174416/how-do-i-query-with-boolean-logic-using-sunspot)和[here](http://sunspot.github.com/sunspot/docs/Sunspot/DSL/StandardQuery.html )在最小匹配段落时,搜索的默认行为是单词之间的逻辑与。此外,我正在使用这种过滤器' '我不知道是否会导致默认行为... –
将dismax评分视为偏向与查询中最匹配条件匹配的文档更容易。这是大多数人期望的搜索行为。你发布的第一个链接解释得非常好。 ':minimum_match => 1'应该是默认值。它只有在你增加它时才会生效(这会将结果限制在更多项匹配的文档中)。 –
NGramFilterFactory只在几个特定的情况下才有用(EdgeNGramFilterFactory有助于前缀搜索/自动完成)。你可能会匹配你不想要的一堆结果(例如,搜索'zz'将与'pizza'匹配)。也许你可以发布更多关于你想要做的事情。 –