[DO NOT MERGE][NEED INITIAL FEEDBACK] Adds NativeEngineKnnFloatVectorQuery
Description
This approach extends Lucene's KNNFloatVectorQuery. Testing in progress
There are some differences and its hard to achieve status quo with current implementation without overriding rewrite or making changes in lucene Differences
- We loose the current exact search setting we provide to our customers. This is a regression
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
Check List
- [ ] New functionality includes testing.
- [ ] New functionality has been documented.
- [ ] API changes companion pull request created.
- [ ] Commits are signed per the DCO using
--signoff. - [ ] Public documentation issue/PR created.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.
I dont think we can get rid of that setting without following deprecation path. Why is it blocked? If we cant get around it, I think this is a non-starter then.
I dont think we can get rid of that setting without following deprecation path. Why is it blocked? If we cant get around it, I think this is a non-starter then.
Its blocked we are trying to use lucenes rewrite method which has a simpler condition and no way to extend
Is it worth extending AbstractKnnFloatQuery and overwriting everything just for sake of not having to copy DocAndScoreQuery code?
One comment around setting: in future, if we move towards implementing codec reader search methods, we could pass the setting to the codec if its an index setting. But, thats out of scope for this.