使用弹性搜索聚合
Aggregation using elastic search
我的搜索查询是从我的弹性数据库中获取最新的 5000 个文档,如下所示
{
"size": 5000,
"from": 0,
"query": {
"range" : {
"hostTimestamp" : {
"gte" : 1499674634382,
"lte" : 1499680034000
}
}
},
"sort": [
{
"hostTimestamp": {
"order": "desc"
}
}
]
}
现在,在作为此查询结果获取的文档中,我想计算 eventSeverity
为 Alert
或 Critical
的文档数量。如何实现?
您可以在 eventSeverity
字段上使用 terms
aggregation 来实现:
{
"size": 5000,
"from": 0,
"query": {
"range" : {
"hostTimestamp" : {
"gte" : 1499674634382,
"lte" : 1499680034000
}
}
},
"sort": [
{
"hostTimestamp": {
"order": "desc"
}
}
],
"aggs": { <--- add this part
"severities": {
"terms": {
"field": "eventSeverity"
}
}
}
}
我的搜索查询是从我的弹性数据库中获取最新的 5000 个文档,如下所示
{ "size": 5000, "from": 0, "query": { "range" : { "hostTimestamp" : { "gte" : 1499674634382, "lte" : 1499680034000 } } }, "sort": [ { "hostTimestamp": { "order": "desc" } } ] }
现在,在作为此查询结果获取的文档中,我想计算 eventSeverity
为 Alert
或 Critical
的文档数量。如何实现?
您可以在 eventSeverity
字段上使用 terms
aggregation 来实现:
{
"size": 5000,
"from": 0,
"query": {
"range" : {
"hostTimestamp" : {
"gte" : 1499674634382,
"lte" : 1499680034000
}
}
},
"sort": [
{
"hostTimestamp": {
"order": "desc"
}
}
],
"aggs": { <--- add this part
"severities": {
"terms": {
"field": "eventSeverity"
}
}
}
}