You need to enable JavaScript to run this app.
导航
SearchAgg
最近更新时间:2025.04.11 16:42:40首次发布时间:2025.04.11 16:42:40
我的收藏
有用
有用
无用
无用

概述

SearchAgg 用于实现聚合,本页面主要介绍如何对指定 index 检索结果进行聚合统计。
聚合统计能指定字段进行分组聚合,并可添加过滤操作,最终得到相应的聚合统计结果,辅助了解数据分布等情况。

注意

索引需要包含至少一个枚举类型(string、int64或bool类型)的标量索引字段。

请求参数

参数名

类型

必选

备注

子参数

类型

备注

必选

agg

map

聚合参数

op

string

目前仅支持count。使用count算子时,索引中必须至少存在一个string、int64或bool类型的标量索引字段。

field

string

对指定字段名进行聚合。字段类型支持string,int64,bool且必须为标量索引字段。

cond

map

类似SQL里group by的having 子句。仅当field字段存在时,才生效。对于count算子,支持gt,表示仅返回大于阈值的结果项。

示例

请求参数

// 获取指定索引,程序初始化时调用即可,无需重复调用
index, _ := service.GetIndex("go", "goIndex")
searchAggOpt := vikingdb.NewSearchAggOptions().
                SetFilter(map[string]interface{}{
                        "op":    "range",
                        "field": "f_int64",
                        "gt":    10,
                }).
                SetAgg(map[string]interface{}{
                        "op":    "count",
                        "field": "f_string",
                        "gt":    0,
                })
aggResult, err := index.SearchAgg(searchAggOpt)
        if err != nil {
                panic(err)
        }
fmt.Println(aggResult.AggOp)
fmt.Println(aggResult.GroupByField)
fmt.Println(aggResult.AggResult)

返回值

Java调用执行上面的任务,返回 List<Data> 。Data 实例包含的属性如下表所示。

属性

说明

agg_op

算子类型

group_by_field

请求返回中的 fields 字段,即用哪个字段进行聚合的

agg_result

聚合处理的结果值