search

API定义

void search(Index::idx_t n, const float *x, Index::idx_t k, float *distances, Index::idx_t *labels) const

功能描述

实现AscendIndexIVFSP特征向量查询接口,根据输入的特征向量返回最相似的“k”条特征的ID。

输入

idx_t n:查询的特征向量的条数。

const float *x:特征向量数据。

idx_t k:需要返回的最近似的结果的个数。

输出

float *distances:查询向量与距离最近的前“k”个向量间的距离值。当有效的检索结果不足“k”个时,剩余无效距离用65504或-65504填充。

idx_t *labels:查询的距离最近的前“k”个向量的ID。当有效的检索结果不足“k”个时,剩余无效label用“-1”填充。

返回值

约束说明

查询的特征向量数据“x”的长度应该为dims * n“distances”以及“labels”的长度应该为k * n,否则可能会出现越界读写的情况,引起程序的崩溃。此处“n”的取值范围:0 < n < 1e9;“k”通常不允许超过4096。