It might be worth asking Liana about these arguments, rather than trying to infer their semantics. In particular, why is the filter_id_map a char*? Is the assumption that attributes are always represented as integers (idx_t)? The distances seems to be k * nq in the test_acorn.cpp.
The rest of the PR here should remove the Searchable trait, and implement a similar search function on the Dataset trait.
We need to implement
search
across the FFI. The cpp function looks like this:See also the example in the main README.
It might be worth asking Liana about these arguments, rather than trying to infer their semantics. In particular, why is the
filter_id_map
achar*
? Is the assumption that attributes are always represented as integers (idx_t
)? Thedistances
seems to bek * nq
in the test_acorn.cpp.The rest of the PR here should remove the
Searchable
trait, and implement a similarsearch
function on theDataset
trait.