在Elasticsearch中,嵌套的 sum
查询通常用于对嵌套文档中的字段进行求和。为了实现这一点,你可以使用 nested
查询结合 aggregations
中的 sum
聚合。以下是一个基本的示例:
假设你有一个包含嵌套文档的索引,如下所示:
{
"id": 1,
"name": "example",
"items": [
{
"itemId": 1,
"price": 100
},
{
"itemId": 2,
"price": 200
}
]
}
你可以使用以下查询来对 items
嵌套文档中的 price
字段进行求和:
{
"query": {
"nested": {
"path": "items",
"query": {
"bool": {
"filter": [
{
"range": {
"items.price": {
"gte": 100
}
}
}
]
}
}
}
},
"aggs": {
"total_price": {
"nested": {
"path": "items"
},
"aggs": {
"sum_price": {
"sum": {
"field": "items.price"
}
}
}
}
}
}
items
,以便在嵌套文档中执行查询。items.price
大于等于 100 的文档。items
。items.price
字段进行求和。这种查询适用于需要对嵌套文档中的字段进行聚合操作的场景,例如:
nested
查询中的 path
与文档结构中的嵌套路径一致。sum
聚合中的字段在嵌套文档中存在。通过以上示例和解释,你应该能够在 Elasticsearch 中成功执行嵌套的 sum
查询。
Elastic 中国开发者大会
DBTalk
Elastic 中国开发者大会
DB TALK 技术分享会
Elastic 中国开发者大会
Elastic 实战工作坊
Elastic 实战工作坊
DB TALK 技术分享会
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第17期]
Elastic 实战工作坊
领取专属 10元无门槛券
手把手带您无忧上云