如何避免弹性搜索/ kibana上的重复结果

时间:2017-12-19 10:31:13

标签: elasticsearch kibana elastic-stack

我有以下查询返回异常和/或错误。 事情是它返回相同的结果 - 这是该查询的预期行为。

我如何管理仅返回唯一结果的结果?

这是我的疑问:

{
  "query": {
    "bool": {
      "should": [
        { "match": { "message": "error" }},
        { "match": { "message": "exception" }}
      ],
      "must_not": {
        "match": {
          "message": "io.vertx.spi.cluster.zookeeper.ZookeeperClusterManager"
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您需要添加聚合来获取(并计算)唯一的异常/错误。尝试这样的事情:

{
  "query": {
    "bool": {
      "should": [
        { "match": { "message": "error" }},
        { "match": { "message": "exception" }}
      ],
      "must_not": {
        "match": {
          "message": "io.vertx.spi.cluster.zookeeper.ZookeeperClusterManager"
        }
      }
    }
  },
  "aggs" : {
    "errors_exceptions" : {
      "terms" : { "field" : "message" }
    }
  }
}

PS:如果经常这样做,预先计算异常的哈希可能会更便宜,例如in your logappender (this is just one example, you can probably find something similar for your use case)Logstash