如何使用 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 访问日志数据成功 运行 的一些查询:
{"filtered":{"filter":{"bool":{"must":{"terms":{"verb":["get"]}}}}}}
{"filtered":{"filter":{"bool":{"must_not":{"terms":{"agent":["crawler","spider","nagios"]}}}}}}
我已经搜索了 google 几个小时,但没有成功。
我不确定您是否可以这样做,因为发现部分已经使用了时间戳聚合。
你能解释一下你想做什么吗?有多种方法可以在可视化中添加客户聚合。如果您在可视化中打开有关聚合的高级部分,您可以看到输入 json 的功能,其中包括其他聚合或其他参数。
如果您给我一个您正在尝试做的事情的示例,我可以尝试并提供帮助 - 您提供的示例可以使用 Kibana 轻松完成 UI。
我正在使用 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 访问日志数据成功 运行 的一些查询:
{"filtered":{"filter":{"bool":{"must":{"terms":{"verb":["get"]}}}}}}
{"filtered":{"filter":{"bool":{"must_not":{"terms":{"agent":["crawler","spider","nagios"]}}}}}}
我已经搜索了 google 几个小时,但没有成功。
我不确定您是否可以这样做,因为发现部分已经使用了时间戳聚合。
你能解释一下你想做什么吗?有多种方法可以在可视化中添加客户聚合。如果您在可视化中打开有关聚合的高级部分,您可以看到输入 json 的功能,其中包括其他聚合或其他参数。
如果您给我一个您正在尝试做的事情的示例,我可以尝试并提供帮助 - 您提供的示例可以使用 Kibana 轻松完成 UI。