刚接触elasticsearch,正在开发一个我不愿改变的遗留模型。我有一个日期字段,如果它的值是 null
(我想是因为es的处理方式 0000-00-00
). 我希望能够查询具有特定日期或字段不存在的数据。以下是我所拥有的:
{
"size": 10000,
"query": {
"bool": {
"must": [
{
"term": {
"AccountID": "xxxx"
}
},
{
"term": {
"LocationID": "xxxx"
}
},
{
"should": [
{
"range": {
"CloseDate": {
"gte": "2020-11-01",
"lte": "2020-12-02"
}
}
},
{
"bool": {
"must_not": {
"exists": {
"field": "CloseDate"
}
}
}
}
]
}
]
}
}
}
我得到和错误的 [should] query malformed, no start_object after query name
当你尝试这个的时候。是否有其他的语法或是什么东西真的不正常?
2条答案
按热度按时间b1zrtrql1#
错误清楚地表明您的查询格式不正确。你错过了一个
]
支架。尝试此查询:kninwzqo2#
一
must
子句中可以有多个查询[]
. 请注意should
也是bool
而不是查询本身。所以它应该在里面bool
.