2017-06-01 133 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