Elastic Search 7:获取特定字段的不同命中
Elastic Search 7 : Get distinct hits for a specific field
我有一个索引,其中 _source 包含此类字段:
createDate : date,
fileName: string,
status : string,
taskName: string,
taskType : string
...
我想知道是否有可能为每个不同的任务名称获得一次命中(任何命中都可以)。
通过对 taskName 使用聚合,我可以获得所有不同的 taskName 值,但我丢失了有关 taskType 的信息。
我需要一个不同的 taskName 列表及其相应的 taskType。
谢谢!
要包含 taskType
的值,您需要使用 top_hits aggregation
试试下面的查询
{
"size": 0,
"aggs": {
"companies": {
"terms": {
"field": "taskName"
},
"aggs": {
"top_ids": {
"top_hits": {
"_source": {
"includes": [
"taskType"
]
},
"size": 10
}
}
}
}
}
}
我有一个索引,其中 _source 包含此类字段:
createDate : date,
fileName: string,
status : string,
taskName: string,
taskType : string
...
我想知道是否有可能为每个不同的任务名称获得一次命中(任何命中都可以)。
通过对 taskName 使用聚合,我可以获得所有不同的 taskName 值,但我丢失了有关 taskType 的信息。
我需要一个不同的 taskName 列表及其相应的 taskType。
谢谢!
要包含 taskType
的值,您需要使用 top_hits aggregation
试试下面的查询
{
"size": 0,
"aggs": {
"companies": {
"terms": {
"field": "taskName"
},
"aggs": {
"top_ids": {
"top_hits": {
"_source": {
"includes": [
"taskType"
]
},
"size": 10
}
}
}
}
}
}