elasticsearch 对两个字段分别求和
时间: 2024-11-12 13:34:04 浏览: 17
完美解决distinct中使用多个字段的方法
在Elasticsearch中,如果你想对文档中的两个字段分别求和,你可以使用聚合(Aggregation)功能,特别是`sum` aggregation。假设你有两个字段,一个是`field1`,另一个是`field2`,可以按照以下步骤操作:
1. **创建查询**:
首先,你需要在搜索请求中指定你的查询条件。例如,如果你想要对某个类型的文档求和,可以这样写:
```json
GET /your_index/_search
```
2. **添加Aggregation**:
在`aggregations`部分,为每个字段添加一个`sum` aggregation,如下所示:
```json
{
"size": 0,
"aggregations": {
"field1_sum": {
"sum": { "field": "field1" }
},
"field2_sum": {
"sum": { "field": "field2" }
}
}
}
```
这里`size`设置为0表示只返回aggregation结果,不显示原始文档。
3. **执行请求**:
发送这个JSON到Elasticsearch服务器,它会返回一个包含两个字段总和的结果集。
阅读全文