我有一堆消息,每行都有一个唯一的 ID (xxx-xxxx-xxxxxxx-xxx)。我想搜索并计算每条唯一消息的数量。
GET _count "OR" GET _search
{
"query": {
"match": {
"message": {
"query": "limit for"
}
}
}
}
结果:
limit for AAA-AAA-AAA-AAA has 10 entries
limit for BBB-BBB-BBB-BBB has 30 entries
limit for CCC-CCC-CCC-CCC has 1000 entries
答案 0 :(得分:0)
假设 (1) 您不想为每个要计算的唯一 ID 创建一个查询,(2) message
字段始终包含您要查找的信息(即“限制”) , (3) message
字段的类型为 keyword
,则可以运行以下聚合:
GET name_of_your_index/_search?size=0
{
"aggs": {
"group_by_message": {
"terms": {
"field": "message",
"size": 10000
}
}
}
}
其中大小值 10000 是低于唯一消息值的最大预期数量的任意数字。