Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjusts Seeded knn searches to clean up user and internal interfaces #14170

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

benwtrent
Copy link
Member

This is a bugfix and refactor for seeded knn searches.

First, Since we are using collectors, we don't actually need unique queries for every input type. Consequently, I have collapsed the two individual seeded queries into a single query that delegates to a provided kNN query. Then the collector manager is simply wrapped, so that the entry points can be provided.

Second, the interactions in the hnsw graph were not clear. Consequently, I did a minor refactor of HNSW searcher to have a "SeededSearcher", where instead of searching the graph for the entry points, it provides them directly.

Third, since ordinal translating collector is wrapping the final collector provided, I made it an entry point provider. A separate option here is to remove this "entry point provider" interface altogether and add default methods to the base KnnCollector, which defaults to 0 entrypoints and empty iterator. Which means that we search the graph for the entry points.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant