【问题标题】:Tire - Elasticsearch: Using must with OR across two fields轮胎 - Elasticsearch:在两个字段中使用必须与 OR
【发布时间】:2013-07-15 21:14:12
【问题描述】:

我正在尝试使用 Elasticsearch 和 Tire 搜索消息。一切似乎都很好,除了我需要将返回的消息限制为发件人或收件人是用户搜索的那些。到目前为止,看起来我所见过的所有示例都处理单个字段上的多个术语,但我正在尝试 OR 多个字段上的单个术语。基本上是这样的:

filter :term, sender_name || recipient_name: user_name

将它们一个接一个地放置基本上会创建一个 AND 而我正在尝试做一个 OR

filter :term, sender_name: user_name
filter :term, recipient_name: user_name

【问题讨论】:

    标签: ruby-on-rails-3.2 elasticsearch tire


    【解决方案1】:

    好的,我想我已经弄清楚了。这是我发现到目前为止似乎可行的解决方案:

    filter :or, {:terms => {:sender_name => [user_name]}},
                {:terms => {:recipient_name => [user_name]}}
    

    希望这对其他人有帮助!

    【讨论】:

      猜你喜欢
      • 2012-06-10
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 2014-09-20
      • 2013-09-26
      • 2013-07-23
      相关资源
      最近更新 更多