繁体   English   中英

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

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

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

Kibana 版本:4.1.0

弹性搜索版本: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" 
      }
    }
  }
}

这里使用的数据。

使用 kibana(不工作):

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

错误:

org.elasticsearch.index.query.QueryPassingException:[.kibana] 没有为 [aggs] 注册查询

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

  • {"filtered":{"filter":{"bool":{"must":{"terms":{"verb":["get"]}}}}}}
  • {"filtered":{"filter":{"bool":{"must_not":{"terms":{"agent":["crawler","spider","nagios"]}}}}}}

我已经在谷歌上搜索了几个小时,但没有运气。

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

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

如果你给我一个你正在尝试做的例子,我可以尝试并提供帮助 - 你给出的例子可以用 Kibana UI 轻松完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM