向量检索
lance_options
参数说明:设置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:0), (large_topk_threshold:0), (global_topk_budget:3.0)
示例:
set lance_options='(nprobes:10), (refine_factor:0), (large_topk_threshold:0), (global_topk_budget:3.0)'
lance_runtime_options
参数说明:设置Lance运行行为相关参数,包括CPU线程数、IO线程数和内存池大小。参数格式为逗号分隔的键值对,每个键值对以(key:value)形式表示。
参数选项及取值:
| 参数名 | 取值 | 作用 |
|---|---|---|
| cpu_threads | 整型[1~INT_MAX],无默认值。 | 指定CPU密集型任务(如解压缩、编码、向量计算等)的线程池大小。 |
| io_threads | 整型[1~INT_MAX],无默认值。 | 控制I/O操作的并行度,用于对象存储的并发读写操作数量。 |
| mem_pool_size | 整型[1~INT64_MAX],无默认值。 | 设置DataFusion执行引擎的内存池大小(字节),用于查询执行时的内存管理,特别是支持溢写到磁盘的操作(如排序、聚合)。 |
默认值:无。
示例:
set lance_runtime_options='(cpu_threads:8), (io_threads:64), (mem_pool_size:1048576)'
lance_runtime_options为Postmaster级别参数,需要在Aura服务端启动前配置,不支持运行时通过SET命令修改该参数。
lance_cache_options
参数说明:设置Lance运行时缓存相关的参数,包括是否开启内部线程池、线程池大小、线程池队列大小、线程池读写超时时间等参数,其中参数格式为逗号分隔的键值对,每个键值对以(key:value)的形式表示。该参数仅在enable_remote_cache=on时才会生效。
参数选项及取值:
| 参数名 | 取值 | 作用 |
|---|---|---|
| cache_pool_support | 整型0或1,默认值1。 | 指定Lance运行时开启缓存线程池。 |
| cache_pool_size | 整型[1~INT_MAX],默认值16。 | 控制缓存线程池的大小。 |
| cache_pool_queue_depth | 整型[1~INT_MAX],默认值4。 | 控制缓存线程池中每个线程的队列大小。 |
| cache_pool_timeout | 整型[1~INT_MAX],默认值30。 | 控制缓存线程池中每个线程的读写超时时间,超时后会直接发起OBS的IO请求。 |
默认值:(cache_pool_support:1), (cache_pool_size:16), (cache_pool_queue_depth:4), (cache_pool_timeout:30)
示例:
set lance_cache_options = "(cache_pool_size:32), (cache_pool_queue_depth:8)";