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

Adding efficient filtering #515

Conversation

martin-gaievski
Copy link
Member

@martin-gaievski martin-gaievski commented Aug 18, 2022

Description

Adding code from POC branch to a feature branch in main repo.
This implementation is not production ready, code isn't polished and mainly most of tests are missing expect for the very basic unit test.

In this change we:

  • parsing out filter section from the knn query request and pass it to the query factory
  • adding support for core query as a filter using core OpenSearch parser

Issues Resolved

#376

Check List

  • New functionality includes testing.
    • All tests pass
  • Commits are signed as per the DCO using --signoff

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 Dexveloper Certificate of Origin and signing off your commits, please check here.

@martin-gaievski martin-gaievski added Enhancements Increases software capabilities beyond original client specifications backport 2.x 2.4.0 labels Aug 18, 2022
@martin-gaievski martin-gaievski self-assigned this Aug 18, 2022
@martin-gaievski martin-gaievski force-pushed the poc/pre-filtering-for-lucene-engine branch from f3ac136 to 5b0bb27 Compare August 18, 2022 21:21
@martin-gaievski martin-gaievski changed the base branch from main to feature/efficient-filtering August 18, 2022 21:24
@martin-gaievski martin-gaievski marked this pull request as ready for review August 18, 2022 22:17
@martin-gaievski martin-gaievski requested a review from a team August 18, 2022 22:17
Signed-off-by: Martin Gaievski <[email protected]>
@codecov-commenter
Copy link

Codecov Report

Merging #515 (ecf8aee) into feature/efficient-filtering (507bafe) will increase coverage by 0.00%.
The diff coverage is 88.13%.

@@                      Coverage Diff                       @@
##             feature/efficient-filtering     #515   +/-   ##
==============================================================
  Coverage                          84.04%   84.05%           
- Complexity                          1019     1022    +3     
==============================================================
  Files                                146      146           
  Lines                               4188     4240   +52     
  Branches                             373      376    +3     
==============================================================
+ Hits                                3520     3564   +44     
- Misses                               492      500    +8     
  Partials                             176      176           
Impacted Files Coverage Δ
...rg/opensearch/knn/index/query/KNNQueryBuilder.java 70.67% <77.27%> (-0.12%) ⬇️
...rg/opensearch/knn/index/query/KNNQueryFactory.java 92.30% <94.59%> (+6.59%) ⬆️
...java/org/opensearch/knn/index/query/KNNWeight.java 78.94% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@martin-gaievski martin-gaievski merged commit 86cec30 into opensearch-project:feature/efficient-filtering Aug 22, 2022
martin-gaievski added a commit to martin-gaievski/k-NN that referenced this pull request Oct 14, 2022
* Add initial support for filtering 

Signed-off-by: Martin Gaievski <[email protected]>
martin-gaievski added a commit that referenced this pull request Oct 14, 2022
* Add initial support for filtering 

Signed-off-by: Martin Gaievski <[email protected]>
martin-gaievski added a commit to martin-gaievski/k-NN that referenced this pull request Oct 20, 2022
* Add initial support for filtering 

Signed-off-by: Martin Gaievski <[email protected]>
@heemin32 heemin32 added v2.4.0 'Issues and PRs related to version v2.4.0' and removed 2.4.0 labels Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancements Increases software capabilities beyond original client specifications v2.4.0 'Issues and PRs related to version v2.4.0'
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants