【发布时间】:2018-05-23 11:08:08
【问题描述】:
我目前正在尝试将以下逻辑放入 ES 查询中 - http_code 是否存在?如果是的话,应该在400-600之间;但它也可能丢失。
以下查询不起作用,我认为它需要更改和更正。
{
"query": {
"bool": {
"must": [
{
"range": {
"http_code": {
"gte": 400,
"lt": 600
}
}
},
{
"bool": {
"should": [
{
"bool": {
"must_not": {
"exists": {
"field": "http_code"
}
}
}
}
]
}
}
]
}
}
}
最初的要求是在 Kibana 仪表板中保存一个过滤器,其范围为 400-600 或丢失。
【问题讨论】:
-
您是否尝试过删除
must查询中的第二个块?它返回什么? -
它返回的范围是 400 到 600,但我也想要缺少该字段的记录。
标签: elasticsearch elasticsearch-5 kibana-6