首页 > 解决方案 > 弹性查询字符串不等于

问题描述

我们在 kibana 中有一些要求,我们需要排除一些请求 url,如 '/ibe/document/*' 并获取其他请求。

尝试过的选项

我们尝试了以下选项

  1. {“查询”:{“布尔”:{“must_not”:{“术语”:{“request.keyword”:“/ibe/document/.*”}}}}}
  2. 不是(“request.keyword”:“/ibe/document/.*”)
  3. !("request.keyword" : "/ibe/document/.*")

但是即使我们使用上述任何一个查询,在过滤后的数据中,我们仍然得到带有“request.keyword”的记录:“/ibe/document/ ”。您能否提供有关查询的建议以避免这个“request.keyword” :“/ibe/文档/。"

我已经尝试使用 "request.keyword" : "/ibe/document/. " 和 "request.keyword" : "/ibe/document/ " 运行上述所有内容。但是每次都在获取 requests "request.keyword" : "/ibe/document/*" 对应的记录

标签: elasticsearchkibanakibana-7

解决方案


您可以使用以下通配符查询排除所有从/ibe/document/

{
  "query": {
    "bool": {
      "must_not": {
        "wildcard": {
          "request.keyword": "/ibe/document/*"
        }
      }
    }
  }
}

推荐阅读