我希望这个问题不是很模糊......
我在ES中有大量日志,我正在尝试聚合特定字段的总和,在本例中为file
,映射为
http://localhost:9200/set_1/record/_mapping
"properties": {
"tags": {"type":"object","dynamic":false,"properties":{
"all":{"type":"string","analyzer":"my_analyzer","store":"true"},
"some_other_stuff_that's_not_important":.....
},
"file": {"type":"nested","dynamic":"false","include_in_root":"true","properties":{
"doctype":{"type":"string","index":"not_analyzed","include_in_all":"false"},
"some_other_stuff": {....}
}
所以我现在要使用名为tag
的{{1}}过滤所有内容,并且我想计算这些过滤日志中download
的数量
file
现在,{
"query": {
"bool": {
"must": [
{
"term": {
"tags.all": "Downloaded"
}
}
]
}
}
}
将是此日志中包含的不同文件的列表,如果我想计算所有文件但排除某些文件类型,我想知道如何聚合,比如{ {1}}
我应该如何形成聚合查询?
答案 0 :(得分:0)
所以我使用key = file.type
进行了聚合,并在聚合查询中添加了exclude
arg,使其排除= [“type1”,“type2”],其中类型1和2是不同的文件类型
顺便说一句,这是针对ES 1.7的。