2013-07-15 28 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]}} 

希望這可以幫助別人!

相關問題