![](/img/trans.png)
[英]How to transform a Kibana query to `elasticsearch_dsl` query
[英]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.