You need to enable JavaScript to run this app.
导航
主键过滤
最近更新时间:2025.04.12 14:54:20首次发布时间:2025.04.11 16:44:02
我的收藏
有用
有用
无用
无用

您可以通过主键过滤能力在向量数据库中通过主键限定结果范围。

说明

主键过滤是通用检索能力,您在检索的相关接口中传入PrimaryKeyIn或PrimaryKeyNotIn参数来启用标量过滤能力。

参数说明

参数

类型

是否必选

默认值

参数说明

primaryKeyIn

list或list

None

设定此参数,会限定仅在主键列表范围内进行检索。
传入空列表和不传此参数效果相同。

primaryKeyNotIn

list或list

None

设定此参数,将把主键列表范围内的数据从检索结果中排除 。

示例
// 获取指定索引,程序初始化时调用即可,无需重复调用
index, _ := service.GetIndex("go", "goIndex")
filter := map[string]interface{}{
                "op":    "range",
                "field": "f_int64",
                "gt":    10,
        }
searchOpt := vikingdb.NewSearchOptions().SetFilter(filter).SetLimit(5).
                SetPrimaryKeyIn([]interface{}{"1", "2", "3", "4"}).
                SetPrimaryKeyNotIn([]interface{}{"1"}).
                SetRetry(true)
datas, err := index.Search(nil, searchOpt)
        if err != nil {
                panic(err)
        }
        for _, data := range datas {
                fmt.Println(data.Fields, data.Score)
        }

返回值

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

属性

说明

Id

主键 id。

Fields

请求返回中的 fields 字段,是具体的数据,map 类型。

Score

表示找到的向量和输入的向量的匹配程度。