DataVec向量引擎参数
hnsw_ef_search
参数说明: 使用HNSW索引扫描时的动态候选集大小。
该参数仅支持表1中对应方法三进行设置。
取值范围: 整型,1~1000
设置建议: 使用HNSW索引扫描时,sql结果数量会受限于Limit
,hnsw_ef_search为初始扫描集合大小,如果没有获取足够Limit
大小的数据会自动扩大hnsw_ef_search继续扫描。该值在取值范围内设置即可。
默认值: 40
说明: 如果需要超过500个结果,请使用
IVFFLAT
索引。
ivfflat_probes
参数说明: 使用IVFFLAT索引扫描时的动态候选集大小。
该参数仅支持表1中对应方法三进行设置。
取值范围: 整型,1~32768
设置建议: sqrt(lists)
,list
为IVFFLAT索引构建时的入参,详情请参考向量索引。
默认值: 1
说明:
较高的值会提升查询的召回率,但同时查询速度会下降。
enable_pq
参数说明: 索引是否开启PQ。
该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。
取值范围: 布尔型,on/off
默认值: off
说明:
启用PQ功能前,必须安装
libkvecturbo.so
PQ加速安装包,并正确配置DATAVEC_PQ_LIB_PATH
环境变量。否则数据库将无法正常启动。
hnsw_earlystop_threshold
参数说明: HNSW索引开启PQ时,在早停策略中设置图搜索的最大连续迭代次数。
该参数仅支持表1中对应方法三进行设置。
取值范围: 整型,160~INT32_MAX
默认值: INT32_MAX
说明:
默认值实际是不开启早停策略的状态。较低的值可以提升查询速率,但可能会使召回率降低,如果召回率不够高可以适当调大参数值。
ivfpq_kreorder
参数说明: IVFFLAT索引开启PQ时,设置参与精排候选集的大小
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围: 整型,0~INT_MAX
默认值: 0
说明:
默认值是不开启,较高的值会提升查询的召回率,但同时查询速度会下降。推荐值大小为
k*ivfflat_probes
,其中k
为用户查询sql设置的limit k
。 如果ivfpq_kreorder
的值小于用户查询sql设置的limit k
,返回记录数为实际精排候选集大小。 创建IVFPQ索引时,不设置ivfpq_kreorder
参数或者该参数值设置不合理会导致查询结果乱序。