2016-11-16 95 views
0

我有一個名爲'bundles'的嵌套對象,通常包含多個對象。使用這個查詢,我可以成功地查詢捆綁中的對象的id,但是我沒有寫出可以查詢多個id的查詢。建議?嵌套彈性搜索2查詢中的多個值

{ 
 
    "query": { 
 
    "nested": { 
 
     "path": "bundles", 
 
     "query": { 
 
     "bool": { 
 
      "must": [ 
 
      { 
 
       "match": { 
 
       "bundles.id": 43273 
 
       } 
 
      } 
 
      ] 
 
     } 
 
     }, 
 
     "inner_hits": {} 
 
    } 
 
    } 
 
}

回答

0

也許你想 「應該」,而不是 「必須」 在布爾過濾器。例如:

{ 
    "query": { 
    "nested": { 
     "path": "bundles", 
     "query": { 
     "bool": { 
      "should": [ 
      { 
       "match": { 
       "bundles.id": 43273 
       }, 
       { 
       "match": { 
       "bundles.id": 433373 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 

如果字段可以完全匹配,也可以使用術語查詢。例如:

{ 
    "query": { 
    "nested": { 
     "path": "bundles", 
     "query": { 
     "bool": { 
      "must": [ 
      { 
       "terms": { 
       "bundles.id": [1140000000, 114] 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
}'