检索功能由多个接口组成,分别对应不同的检索模式和业务场景。
V2 接口将不同检索模式对应到不同的接口,更加清晰,便于您针对业务场景选择合适的检索方式。
| 名称 | 类型 | 必选 | 子参数 | 类型 | 描述 |
|---|---|---|---|---|---|
| ResourceID | string | 二选一 | Collection 的资源 ID。 | ||
| CollectionName | string | Collection 名称。 | |||
| IndexName | string | 是 | 索引名称。 | ||
OutputFields | []string | 否 | 要返回的标量字段列表。
| ||
| Filter | map[string]interface{} | 否 | 标量过滤条件,格式见下文,默认不设置。 | ||
| Limit | int | 否 | 返回结果上限,默认 10,最大值 100000。 | ||
| Offset | int | 否 | 分页偏移量,默认 0,过大时会触发深分页性能损耗。 | ||
| Advance | 否 | DenseWeight | float64 | 混合向量场景下 dense / sparse 权重,默认 0.5,范围 [0.2, 1]。 | |
| IDsIn | []interface{} | 仅在该主键集合范围内检索。 | |||
| IDsNotIn | []interface{} | 排除指定主键列表。 | |||
| PostProcessOps | []map[string]interface{} | 后置处理算子列表,串行执行,详见《检索后处理算子-PostProcess》。 | |||
| PostProcessInputLimit | int | 进入后处理阶段的候选条数。 | |||
| ScaleK | float64 | 分配给后续 rerank 的候选倍率。 | |||
| FilterPreAnnLimit | int | 先执行标量过滤时的最大候选条数。 | |||
| FilterPreAnnRatio | float64 | 先执行标量过滤时的候选比例。 |
使用 filter 的前提是,相应的标量字段已经设置为标量索引(scalar_index)。
| 算子 | 适用字段类型 | 说明 | 示例 |
|---|---|---|---|
must | string、int64、bool、list | 针对指定字段名生效,语义为必须在 [...] 之中,即 "must in"。 |
|
must_not | string、int64、bool、list | 针对指定字段名生效,语义为必须不在 [...] 之中,即 "must not in"。 |
|
and | / | 逻辑算子,针对逻辑查询需求,对多个条件取交集。 |
|
or | / | 逻辑算子,针对逻辑查询需求,对多个条件取并集。 |
|
range | int64、float32 | 针对指定字段名生效,语义为必须在指定范围内。配置使用 |
|
time_range | date_time | 时间点筛选,配置使用 |
|
geo_range | geo_point | 地理距离筛选,使用 |
|
| 算子 | 适用字段类型 | 介绍 | 示例 |
|---|---|---|---|
score_fusion | string | 分数融合算子,用于融合指定的时空标量的分数。 |
|
string_contain | string | 关键词匹配过滤算子。表示该字段内容包含 pattern。 |
|
string_match | string | 正则匹配过滤算子。 |
|
enum_freq_limiter | string | 频控算子。用于保证一次召回的结果中,一个特定取值出现的总数不超过 |
|
| 能力 | 方法与路径 |
|---|---|
| 向量检索 | POST /api/vikingdb/data/search/vector |
| 随机检索 | POST /api/vikingdb/data/search/random |
| 关键词检索 | POST /api/vikingdb/data/search/keywords |
| ID 检索 | POST /api/vikingdb/data/search/id |
| 标量排序检索 | POST /api/vikingdb/data/search/scalar |
| 多模态检索 | POST /api/vikingdb/data/search/multi_modal |
本接口的业务错误码、触发条件和处理建议统一参见向量库 V2 错误码。排查时请同时记录响应中的 request_id,以便定位具体请求。