query method

List<Doc> query(
  1. VectorQuery query, {
  2. int topk = 10,
})

Implementation

List<Doc> query(VectorQuery query, {int topk = 10}) {
  _ensureOpen();

  if (query.fieldName != schema.primaryVector.name) {
    throw ZvecException(
      -1,
      'This wrapper currently supports one vector field named ${schema.primaryVector.name}.',
    );
  }

  if (query.includeVector) {
    throw UnsupportedError(
      'includeVector is not supported by the current Android wrapper.',
    );
  }

  final minScore = query.queryParam?.radius == 0.0
      ? null
      : query.queryParam?.radius;

  final hits = _raw.search(
    query: query.vector,
    topK: topk,
    minScore: minScore,
    filter: query.filter,
  );

  return hits
      .map((hit) => _docFromHit(hit, outputFields: query.outputFields))
      .toList();
}