improve the iterator implementation
so that we can avoid as much duplicate code between indexes as possible and form a good foundation for Cardinal to add iterator support
TODOs after #501:
- [ ] hnsw iterator use brute force for high filter rate
- [ ] hnsw iterator to limit
to_visitsize by search 1 step every severalNext()calls. - [ ] ivf iterator to copy and own query data
- [ ] DiskANN iterator impl
- [ ] IVF-SQ8 iterator impl: this is being targeted in https://github.com/zilliztech/knowhere/pull/414
- [ ] HNSW impl has support for binary vector, but it is not officially supported. Thus hnsw iterator on binary vector is not properly tested: this is being targeted in https://github.com/zilliztech/knowhere/pull/494
- [x] make the parameters configurable
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.