【发布时间】:2020-11-13 08:52:51
【问题描述】:
我的映射中有 2 级嵌套:business -> funds -> admins/market
我想要与特定 admin_name 匹配的 f_id's 计数
ES 映射
{
"text_index" : {
"mappings" : {
"properties" : {
"buisness_id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
},
},
"buisness_type" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"funds" : {
"type" : "nested",
"properties" : {
"f_id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
"admins" : {
"type" : "nested",
"properties" : {
"admin_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
},
},
"admin_id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
},
"market" : {
"type" : "nested",
"properties" : {
"mkt_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"mkt_id" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
}
}
}
}
对 COUNT 的 AGGS 查询:
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "funds",
"query": {
"nested": {
"path": "funds.admins",
"query": {
"bool": {
"must": [
{
"match": {
"funds.admins.admin_name": "NOMAD"
}
}
]
}
}
}
}
}
}
]
}
},
"aggs": {
"funds_count": {
"nested": {
"path": "funds"
},
"aggs": {
"f_count": {
"value_count": {
"field": "funds.f_id.keyword"
}
}
}
}
}
}
但它没有给出正确的 f_id's 计数。
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation elasticsearch-7