Elasticsearch 查询条件解析:如何确保同时满足smsSuccess和emailSuccess为false
根据提供的JSON查询条件,应该是想要查询出smsSuccess和emailSuccess为false的数据。然而,查询条件中的'should'子句表示只要满足其中一个条件就可以,而不是同时满足两个条件。
如果要同时满足smsSuccess和emailSuccess为false的条件,可以将'should'子句改为'must'子句,如下所示:
{
"query": {
"bool": {
"filter": [
{
"range": {
"latestTs": {
"from": 1697644800000,
"to": null,
"include_lower": true,
"include_upper": true,
"boost": 1.0
}
}
}
],
"must": [
{
"term": {
"smsSuccess": {
"value": false,
"boost": 1.0
}
}
},
{
"term": {
"emailSuccess": {
"value": false,
"boost": 1.0
}
}
}
],
"adjust_pure_negative": true,
"boost": 1.0
}
},
"track_total_hits": 2147483647
}
这样修改后,查询结果将只包含同时满足smsSuccess和emailSuccess为false的数据。
原文地址: https://www.cveoy.top/t/topic/pmOz 著作权归作者所有。请勿转载和采集!