我是Elasticsearch的初学者,今天在进行“多与或”查询时遇到问题。
我有一个SQL查询,需要在Elastic中进行转换:
WHERE host_id = 999 AND psh_pid = 444 AND psh_ppid = 777
OR host_id = 111 AND psh_pid = 666 AND psh_ppid = 333
OR ..... (indefinitely)
我是否不得不通过几个查询来做到这一点?
最佳答案
非常抱歉,我想自己找到了解决方法:3
如果有人需要,我把它放在这里!
{"from":0,
"size":100,
"query":
{"bool":
{"should":
[{"bool":
{"must":
[{"query_string":
{"query":"801","fields":["host_id"]}},
{"query_string":
{"query":"1","fields":["psh_pid"]}},
{"query_string":
{"query":"0","fields":["psh_ppid"]}}
]}
},{"bool":
{"must":
[{"query_string":
{"query":"801","fields":["host_id"]}},
{"query_string":
{"query":"2621550","fields":["psh_pid"]}},
{"query_string":
{"query":"1","fields":["psh_ppid"]}}
]
}}
]
}
}
}
关于php - 在Elasticsearch中处理必须/应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40221332/