我无法弄清楚这个查询有什么问题。“范围”和“存在”都独立工作,但一起我得到parsing expection和range malformed query, expected END_OBJECT but found FIELD_NAME。有人能弄清楚这个查询有什么问题吗?
{
"query": {
"range":{
"@timestamp":{
"gte":"2019-08-04T11:00:00",
"lt":"2019-10-04T12:00:00"
}
},
"exists": {
"field": "params.zone"
}
},
"_source": ["@timestamp", "params.zone"]
}
Run Code Online (Sandbox Code Playgroud)
如果您想组合多个查询,就像您正在做的那样,range并且exists您需要使用bool 查询并决定哪些子句是必需的 ( must)、可选的 ( should)、过滤器 ( filter) 或不应出现在结果中 (must_not )
可以工作的查询可能如下所示(在此示例中您是子句是强制性的):
{
"query": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"gte": "2019-08-04T11:00:00",
"lt": "2019-10-04T12:00:00"
}
}
},
{
"exists": {
"field": "params.zone"
}
}
]
}
},
"_source": [
"@timestamp",
"params.zone"
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
868 次 |
| 最近记录: |