Kibana 查询整个值的精确匹配

Kibana query exact match of entire value

我有一系列记录,其字段 App Version 目前有两个可能的值:2.3.02.3.0 SP1。如果我尝试像这样在开发控制台中查询 2.3.0...

GET myindex/_search
{
  "query": {
    "match": {
      "App Version": "2.3.0"
      }
  }
}

它returns所有记录,2.3.0 SP12.3.0的记录。由于我的最终目标是删除仅包含 App Version=2.3.0 的所有记录,因此我需要一些方法来过滤掉包含 SP1 的记录。我无法在任何地方找到强制完全匹配 整个字符串 而不仅仅是字符串的一部分的文档。有什么想法吗?

编辑:如果有帮助,我是 运行 Kibana 5.2.2。

对于完全匹配,您应该在非分析字段 (ES 2.X) 或关键字字段 (ES 5.X) 上使用术语查询。但我想您将不得不更改映射。

我也可以将两个或多个查询组合成 bool query:

{
  "query": {
    "bool": {
       "must": [
          {
            "match": {
              "App Version": "2.3.0"
            }
          }
       ],
       "must_not": [
          {
            "match": {
              "App Version": "SP1"
            }
          }
       ]
    }
  }
}