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

Range Search #32

Closed
tanliboy opened this issue Aug 5, 2019 · 2 comments
Closed

Range Search #32

tanliboy opened this issue Aug 5, 2019 · 2 comments

Comments

@tanliboy
Copy link

tanliboy commented Aug 5, 2019

I tried NGT in some data, and I am very impressed by its recall and speed. I noticed that most of the examples are for topK, and I am wondering this algorithm is fit for range_search – search for all vectors within a specific radius of a given vector.

In the python wrapper, the radius setting is not exposed https://github.com/yahoojapan/NGT/blob/master/python/src/ngtpy.cpp#L126. However, according to the C++ example https://github.com/yahoojapan/NGT/blob/master/bin/search/search.cpp#L54, we can set the radius along with size.

Is this algorithm fit for range_search (by make size=data_size and control radius)? If so, do we have data compared with other approaches (classic inverted files, vp-tree, or other approaches)? Thanks!

@masajiro
Copy link
Member

masajiro commented Aug 6, 2019

NGT can basically deal with range search excluding the python bindings. When you set a radius, the radius is only set to the initial radius instead of infinity for the KNN search. Although I have not exactly compared NGT with other methods by using range search, I think inverted-file-based methods are advantageous for wide range search compared to graph-based methods.

@masajiro
Copy link
Member

I have implemented set for ngtpy to set a radius for range search.

This issue was closed.
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

No branches or pull requests

2 participants