curl - Elasticsearch must_not 查询与正则表达式不匹配

标签 curl elasticsearch kibana

我想过滤掉 LogMessage 字段中存在 Too many connections 的所有文档。

我写的查询是:

'
{
  "query": {
    "bool": {
      "must": {
        "match": {
          "logType": "Error"
        }
      },
      "must_not": {
         "match": {
           "LogMessage": ".*Too many connections.*"
         }
      }
    }
  }
}'

另一方面,如果我在 LogMessage 字段中使用我的整个字符串,它工作正常。

我在这里验证了我的正则表达式:

https://regex101.com/r/EexTmV/1

请帮我解决这个问题。

最佳答案

您需要使用 regexp query而不是 match 查询

{
  "query": {
    "bool": {
      "must": {
        "match": {
          "logType": "Error"
        }
      },
      "must_not": {
         "regexp": {
           "LogMessage": ".*Too many connections.*"
         }
      }
    }
  }
}

关于curl - Elasticsearch must_not 查询与正则表达式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42524616/

相关文章:

elasticsearch - Elasticsearch中嵌套字段的平均值和直方图聚合

elasticsearch - token 字符映射到 Ngram 过滤器 ElasticSearch NEST

java - ils。从远程服务器调用CURL后重定向不起作用

curl - 如何使用 curl 为没有前导斜杠的文件生成 http 1.0 请求?

elasticsearch - 根据ObjectField的属性进行聚合,然后对嵌套字段进行排序

elasticsearch - 尝试在Elasticsearch中删除索引的所有数据

amazon-web-services - 如何设置单个kibana仪表板?

elasticsearch - 如何在Kibana中搜索嵌套键

Javascript - 链接 2 个(或更多)promise 数组

php 一定时间后curl下载页面