You need to enable JavaScript to run this app.
导航
主键过滤
最近更新时间:2025.04.12 14:53:26首次发布时间:2025.04.02 11:16:01
我的收藏
有用
有用
无用
无用

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

说明

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

参数说明

参数

类型

是否必选

默认值

参数说明

primaryKeyIn

list或list

None

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

primaryKeyNotIn

list或list

None

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

示例
//获取指定索引,程序初始化时调用即可,无需重复调用
Index index = vikingDBService.getIndex("test_text", "test_index_text");
List<String> outputField = Arrays.asList("f_id", "f_string", "f_int64");
List<DataObject> datas = index.search(new SearchParam()
           .setVectorOrder(new VectorOrder().setVector(DataUtil.genRandomVector(4)).build())
           .setOutputFields(outputField)
           .setPartition("default")
           .setPrimaryKeyIn(Arrays.asList(0, 1, 2, 3, 4, 5))
           .setPrimaryKeyNotIn(Arrays.asList(2, 3))
           .setLimit(20)
           .build());
 System.out.println(datas);

返回值

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

属性

说明

id

主键 id。

fields

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

score

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