2017-10-05 44 views
0

我試圖做一個查詢,其中的字段不存在或位於值的數組中,在mongo中它會是這樣的。如何通過特定的值進行搜索或Elasticsearch中不存在字段的地方

$or: [ 
    { 
     field: { 
      $exists: false 
     } 
    }, 
    { 
     field: [val1, val2] 
    } 
] 

我已經嘗試了一些變化,但似乎無法找到解決方案。

EDIT1:

基本上在我的腦海中,查詢應該是這樣。

query: { 
    "bool": { 
    "should": [ 
     "must": {...logic} 
     "must_not": {...logic} 
    ] 
    } 
} 

這將返回

「must_not」 畸形

回答

0

你需要做的是這樣的:這個

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "terms": { 
      "field": [ 
       "val1", 
       "val2" 
      ] 
      } 
     }, 
     { 
      "bool": { 
      "must_not": { 
       "exists": { 
       "field": "field" 
       } 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
+0

任何運氣? – Val

相關問題