2016-01-05 29 views
0

我想在一個文檔做過濾場上type當過濾器和文檔有兩個對象messagetags,但兩者messagetagstype領域。我怎樣才能通過現場有相同的字段

文件:

{ 
"message":{ 
    "type":2, 
    "body":"test" 
}, 
"tags":{ 
    "tagname":"td", 
    "type":0 
    } 
} 

如何過濾與消息的類型的文檔是2,我試過,但沒有結果返回。

"filter" : { 
    "query" : { 
    "bool" : { 
     "must" : { 
     "bool" : { 
      "should" : { 
      "match" : { 
       "type" : { 
       "query" : 2, 
       "type" : "boolean", 
       "operator" : "AND" 
       } 
      } 
      } 
     } 
     } 
    } 
} 

回答

0

場上message.type簡單的過濾系統將給出該字段message不是nested類型:

{ 
    "query": { 
    "term": { 
     "message.type": { 
     "value": 2 
     } 
    } 
    } 
} 

如果messagenested類型,然後使用下面的嵌套查詢。

{ 
    "query": { 
    "nested": { 
     "path": "message", 
     "query": { 
     "term": { 
      "message.type": { 
      "value": 2 
      } 
     } 
     } 
    } 
    } 
} 
+0

是的,它是炒作!謝謝。 – HaiBin