search method
Implementation
List<ZvecSearchHit> search({
required List<double> query,
int topK = 5,
double? minScore,
String? filter,
}) {
_ensureOpen();
_ensureVectorMatchesDimension(query);
final queryPointer = _toFloatPointer(query);
final filterPointer = _nullableUtf8(filter);
final results = calloc<Pointer<_NativeSearchResult>>();
final outCount = calloc<Uint32>();
try {
final status = minScore == null
? _bindings.zvecSearch(
_handle,
queryPointer,
query.length,
topK,
filterPointer,
results,
outCount,
)
: _bindings.zvecSearchWithThreshold(
_handle,
queryPointer,
query.length,
topK,
minScore,
filterPointer,
results,
outCount,
);
_throwIfFailed(status);
return _readSearchResults(results.value, outCount.value);
} finally {
calloc.free(queryPointer);
_freeNullableUtf8(filterPointer);
calloc.free(results);
calloc.free(outCount);
}
}