2017-06-01 151 views
0

搜索陣列(5.3)查詢在elasticsearch在elasticsearch

我的文檔結構有三個領域是這樣的:

{ 
    x:55 
    y:66 
    z:44 
} 

我需要查詢搜索這個數組是在我的文檔:

[[55,66,44],[45,68,95]] 

相當於SQL語言:

select * from table where (x=55 AND y=66 AND z=44) OR (x=45 AND y=68 AND z=95) 
+0

你提的問題是非常不清楚,你應該考慮是更具體,增加更多的細節。在StackOverflow上,我們也普遍認爲,在發佈問題之前,您應該嘗試一些/任何東西,以便您不要簡單地要求社區爲您編寫代碼。 – Graham

回答

0

這樣的事情應該做的伎倆:

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "bool": { 
      "must": [ 
       { 
       "term": { 
        "x": 55 
       } 
       }, 
       { 
       "term": { 
        "y": 66 
       } 
       }, 
       { 
       "term": { 
        "z": 44 
       } 
       } 
      ] 
      } 
     }, 
     { 
      "bool": { 
      "must": [ 
       { 
       "term": { 
        "x": 45 
       } 
       }, 
       { 
       "term": { 
        "y": 68 
       } 
       }, 
       { 
       "term": { 
        "z": 95 
       } 
       } 
      ] 
      } 
     } 
     ] 
    } 
    } 
} 
+0

我不想單獨搜索。 –

+0

在你的SQL中,你正在單獨搜索 – Val