向量检索
lance_option
参数说明:设置lance向量检索相关参数,包括探测分区数、重排序因子以及分布式TopK剪枝策略。参数格式为逗号分隔的键值对,每个键值对以(key:value)形式表示。
参数选项及取值:
| 参数名 | 取值 | 作用 |
|---|---|---|
| nprobes | 整型[1 ~ INT_MAX],默认值为1024。 | 代表向量索引查询时探测的IVF分区数,值越大扫描的分区越多,召回率越高,但查询延迟也越大。 |
| refine_factor | 整型[0 ~ INT_MAX],默认值为0。 | 代表重排序因子,索引扫描返回的候选集大小为该因子乘以Top-K值,系统对候选集进行精确距离计算后排序取Top-K。值越大,召回率越高,但计算开销越大 |
| large_topk_threshold | 整型[0 ~ INT_MAX],默认值为0。 | 代表触发分布式TopK剪枝的K值阈值。当查询的LIMIT K大于等于该阈值时,启用per_shard_topk策略,由CN计算每个DN需返回的候选数量并下推。取值为0表示禁用该策略。 |
| global_topk_budget | 浮点[1.0 ~ 100.0],默认值3.0。 | 代表分布式TopK剪枝的预算系数,与large_topk_threshold配合使用。 计算公式:perShardTopk = ceil(global_topk_budget × K / active_dn_count),其中active_dn_count为活跃DN数量。取值为3.0时perShardTopk等于K,与不启用剪枝的召回率一致。 |
默认值:(nprobes:1024), (refine_factor:5), (large_topk_threshold:0), (global_topk_budget:3.0)
示例:
set lance_options='(nprobes:10), (refine_factor:5), (large_topk_threshold:0), (global_topk_budget:3.0)'