【问题标题】:Thinking Sphinx Combining :with parameters思考狮身人面像结合:带参数
【发布时间】:2010-09-22 06:54:39
【问题描述】:

我想知道如何组合 Thinking Sphinx 的结果集

我有以下疑问:

Model.search :with => {:attribute_1 => id}

我想与之结合:

Model.search :with => {:attribute_2 => id}

有没有一种巧妙的方法可以通过一次搜索来做到这一点?我可以进行数组添加,但这似乎根本不是一个好的解决方案。如果我像这样组合过滤器:

Model.search :with => {:attribute_1 => id, :attribute_2 => id}

结果是两个过滤器的交集,这不是所需的输出。有什么方法可以对过滤器进行 OR 操作。

【问题讨论】:

    标签: ruby-on-rails full-text-search thinking-sphinx


    【解决方案1】:

    这实际上归结为 Sphinx 的一个限制 - 在过滤器中引用属性时没有 OR 的概念。

    也许您可以将这两个属性结合在一起?然后以下将起作用:

    Model.search :with => {:attr_1_and_2 => id}
    

    在您的模型中,如果您正在处理单个值,这肯定会起作用 - 并且可能适用于值数组:

    has [attribute_1, attribute2], :as => :attr_1_and_2
    

    【讨论】:

    • 我认为这正是我想要的。感谢您的提示!
    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    相关资源
    最近更新 更多