2013-07-15 27 views
0

我试图使用Elasticsearch和Tire搜索消息。似乎一切都很好,除了我需要限制返回给用户搜索发件人或收件人的邮件。到目前为止,它看起来像我见过的所有例子在单个字段上处理多个术语,但我试图在多个字段上对单个术语进行OR操作。基本上是这样的:Tyre - Elasticsearch:在两个字段中使用必须的OR

filter :term, sender_name || recipient_name: user_name 

把他们一前一后基本上创建了一个和而我试图做一个或

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

回答

0

好吧,我想我已经想通了。这是我发现的解决方案,目前为止似乎工作:

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

希望这可以帮助别人!

相关问题