SearchWithExtraVal
API定义  | 
APP_ERROR SearchWithExtraVal(uint32_t count, const void *features, const AttrFilter *attrFilter, bool shareAttrFilter, uint32_t topk, int64_t *labels, float *distances, uint32_t *validNums, const ExtraValFilter *extraValFilter, bool enableTimeFilter = true);  | 
|---|---|
功能描述  | 
计算输入特征和经过AttrFilter和ExtraValFilter过滤后的底库向量的距离并将距离进行TopK排序,返回对应的距离和下标。  | 
输入  | 
uint32_t count:待比较的特征数量。 const void *features:待比较的特征,汉明距离为uint8_t类型的数据,Int8Flat为int8_t类型;FP16Flat距离为float类型。当前仅支持汉明距离。 const AttrFilter *attrFilter:属性过滤信息,具体请参见AttrFilter。 bool shareAttrFilter:附加属性暂仅支持“false”,不同query非共享一个mask。 uint32_t topk:计算余弦距离后需要保存的TopK大小。 const ExtraValFilter *extraValFilter:附加属性过滤信息,具体请见ExtraValFilter。 bool enableTimeFilter:时间戳属性过滤开关,默认为“true”,当enableTimeFilter = false时,不进行时间戳属性的过滤。  | 
输出  | 
uint32_t *validNums:每个query向量经过比对后得到的有效结果个数。 int64_t *labels:TopK特征的Label。 float *distances:TopK特征的距离。  | 
返回值  | 
APP_ERROR:调用返回状态,具体请参见接口调用返回值参考。  | 
约束说明  | 
  | 
 SearchWithExtraVal不能与Search接口混用。