如何使用 Query DSL 在 kibana 中为 Elasticsearch 聚合编写搜索查询

How to write search queries in kibana using Query DSL for Elasticsearch aggregation

我正在使用 ELK 堆栈来处理 Apache 访问日志。花了很多时间了解 Query DSL 格式,以便可以编写更复杂的查询。当前面临 运行 在 kibana 界面中查询的问题,但是当从命令行使用 curl 发布时,相同的查询工作得很好。

Kibana 版本:4.1.0

Elasticsearch 版本:1.6.0

Java: 1.8.0_45

使用卷曲(有效):

curl -XGET http://localhost:9200/cars/transactions/_search?search_type=count -d '{
  "aggs" : { 
    "colors" : { 
      "terms" : {
        "field" : "color" 
      }
    }
  }
}

使用了来自 here 的数据。

使用 kibana(不工作):

{ "aggs" : { "colors" : { "terms" : { "field" : "color" } } } }

错误:

org.elasticsearch.index.query.QueryPassingException:[.kibana] No query registered for [aggs]

以下是我在 kibana 中使用查询 DSL 对 apache 访问日志数据成功 运行 的一些查询:

我已经搜索了 google 几个小时,但没有成功。

我不确定您是否可以这样做,因为发现部分已经使用了时间戳聚合。

你能解释一下你想做什么吗?有多种方法可以在可视化中添加客户聚合。如果您在可视化中打开有关聚合的高级部分,您可以看到输入 json 的功能,其中包括其他聚合或其他参数。

如果您给我一个您正在尝试做的事情的示例,我可以尝试并提供帮助 - 您提供的示例可以使用 Kibana 轻松完成 UI。