我有一个错误索引,其中包含php应用程序记录的所有错误。现在,我想要DSL查询器通过消息以及计数返回明显的错误。
类似于mysql查询:SELECT *, COUNT(*) AS total FROM
错误GROUP BY
消息;
映射我的索引:
"mappings": {
"errors": {
"properties": {
"message": {
"type": "keyword"
},
"trace": {
"type": "keyword"
},
"file": {
"type": "keyword"
}
}
}
}
预期结果:我正在使用 flex 搜索5.6。提前致谢。
最佳答案
我认为top hits聚合可以帮助您实现目标。
GET errors/_search?size=0
{
"aggs": {
"error-counts": {
"terms": {
"field": "message"
},
"aggs": {
"messages": {
"top_hits": {
"size": 100
}
}
}
}
}
}
这将为每个消息创建存储桶,每个存储桶中的总数,并在每个存储桶中列出100条记录。
关于elasticsearch - 如何在Elasticsearch中实现此sql查询结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57668549/