【问题标题】:Keywords search with multiple terms关键字搜索多个词
【发布时间】:2013-10-21 13:00:33
【问题描述】:

我想写这样的东西:

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

如果我有两个不同的实例,一个是“apple”,另一个是“peach”,我希望它们都在结果中返回。

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

太阳黑子甚至支持这一点吗?我无法找到它,这并不意味着我没有错过任何东西。

【问题讨论】:

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


    【解决方案1】:

    假设您有两个模型实例,一个带有 name apple,第二个带有 name equal peach,第三个带有名称“apple peach”。如果您想获得其中任何一个,您应该执行类似于以下的操作:

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

    现在您将获得所有三个结果(至少您应该获得),关键部分是 minimum_match,如果不这样,Sunspot 将使用其默认设置,即仅返回“完整”匹配项(找到所有短语)。

    【讨论】:

    • 就是这样!它完美地工作!非常感谢!我使用了这种语法思想关键字('apple peach'){minimum_match}
    猜你喜欢
    • 2014-12-06
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 2013-02-15
    相关资源
    最近更新 更多