SearchWithMask

API definition

APP_ERROR SearchWithMask(const AscendIndexSearchParams& params, const std::vector<uint8_t>& mask) const;

Function

Queries the feature vectors and returns IDs of the most similar topK features based on the input feature vectors. mask is a bit string of 0 and 1. Each bit indicates whether the corresponding feature in the database is involved in distance calculation. The value 0 indicates that the feature is not involved, and the value 1 indicates that the feature is involved.

Input

const AscendIndexSearchParams& params: search parameter. For details, see AscendIndexSearchParams.

size_t n: number of query vectors.

std::vector<float>& queryData: feature vector data.

int topK: number of the most similar results to be returned.

const std::vector<uint8_t>& mask: feature mask.

Output

std::vector<float>& dists: distance between a vector and the topK nearest vectors.

std::vector<int64_t>& labels: IDs of the topK nearest vectors that are queried.

Return value

APP_ERROR: return status. For details, see Return Code Reference.

Restrictions

  • n ∈ (0, 10000]. Ensure that the value of n * dim * sizeof(float) is less than the remaining memory of the card. Otherwise, the retrieval may fail due to insufficient memory.
  • Length of queryDatan × dim
  • topK ∈ (0, 4096]
  • Length of dists and labelsn × topK
  • Length of maskn × ceil(ntotal/8), where ntotal indicates the number of features.