关键字搜索多个术语

时间:2013-10-21 13:00:33

标签: solr full-text-search sunspot-rails keyword-search

我想写这样的东西:

 keywords ['apple', 'peach'], :fields => [:fruits]

如果我有两个不同的实例,其中一个有'apple'而另一个有'peach',我希望在结果中返回它们。

我已经尝试过上面提到的语法,但我只得到第一学期的匹配('apple')。

太阳黑子甚至支持这个吗?我无法发现它并不意味着我没有错过任何东西。

1 个答案:

答案 0 :(得分:1)

假设您有两个模型实例,一个带有name苹果,第二个带有name等于桃子,第三个带有名称为“apple peach”。如果你想获得其中任何一个,你应该做类似以下的事情:

Product.search do
  minimum_match 1
  keywords 'apple peach' # btw, fulltext is an alias to keywords
end

现在你将获得所有三个结果(至少你应该得到),关键部分是minimum_match,没有太阳黑子将使用其默认设置,即仅返回'完整'匹配(找到所有短语)。