in elasticsearch(5.3)
我的文档结构有三个字段是这样的:
{
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 :(得分: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
}
}
]
}
}
]
}
}
}