-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[Feature] Visitor design pattern in QueryBuilder #10110
[Feature] Visitor design pattern in QueryBuilder #10110
Conversation
Signed-off-by: Varun Jain <varunudr@amazon.com>
@msfroh @navneet1v as discussed a PR for implementing visitor design pattern in QueryBuilder cc: @vamshin |
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Compatibility status:Checks if related components are compatible with change e9c81e1 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/k-nn.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer-rca.git] |
server/src/test/java/org/opensearch/index/query/BoolQueryBuilderTests.java
Outdated
Show resolved
Hide resolved
server/src/test/java/org/opensearch/index/query/BoolQueryBuilderTests.java
Outdated
Show resolved
Hide resolved
test/framework/src/main/java/org/opensearch/test/AbstractBuilderTestCase.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Varun Jain <varunudr@amazon.com>
Signed-off-by: Varun Jain <varunudr@amazon.com>
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, @vibrantvarun!
I'm going to wait for Gradle check to pass, retrying as needed.
Gradle Check (Jenkins) Run Completed with:
|
server/src/test/java/org/opensearch/index/query/BoolQueryBuilderTests.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Varun Jain <varunudr@amazon.com>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Varun Jain <varunudr@amazon.com>
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-10110-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 a63f8def960164117a57feb79911df4629415875
# Push it to GitHub
git push --set-upstream origin backport/backport-10110-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
…10110) * Implementation of Visitor Design Pattern in QueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Comments addressed of michael Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding test case and some minor fixes in DisMaxQueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Modifying test cases and remove exeception Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding bool query builder test cases at clause level Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing test case Signed-off-by: Varun Jain <varunudr@amazon.com> * Additional test cases Signed-off-by: Varun Jain <varunudr@amazon.com> --------- Signed-off-by: Varun Jain <varunudr@amazon.com>
…10110) * Implementation of Visitor Design Pattern in QueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Comments addressed of michael Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding test case and some minor fixes in DisMaxQueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Modifying test cases and remove exeception Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding bool query builder test cases at clause level Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing test case Signed-off-by: Varun Jain <varunudr@amazon.com> * Additional test cases Signed-off-by: Varun Jain <varunudr@amazon.com> --------- Signed-off-by: Varun Jain <varunudr@amazon.com> Signed-off-by: Ivan Brusic <ivan.brusic@flocksafety.com>
…10110) * Implementation of Visitor Design Pattern in QueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Comments addressed of michael Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding test case and some minor fixes in DisMaxQueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Modifying test cases and remove exeception Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding bool query builder test cases at clause level Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing test case Signed-off-by: Varun Jain <varunudr@amazon.com> * Additional test cases Signed-off-by: Varun Jain <varunudr@amazon.com> --------- Signed-off-by: Varun Jain <varunudr@amazon.com>
…10110) * Implementation of Visitor Design Pattern in QueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding Changelog Signed-off-by: Varun Jain <varunudr@amazon.com> * Comments addressed of michael Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding test case and some minor fixes in DisMaxQueryBuilder Signed-off-by: Varun Jain <varunudr@amazon.com> * Modifying test cases and remove exeception Signed-off-by: Varun Jain <varunudr@amazon.com> * Adding bool query builder test cases at clause level Signed-off-by: Varun Jain <varunudr@amazon.com> * Fixing test case Signed-off-by: Varun Jain <varunudr@amazon.com> * Additional test cases Signed-off-by: Varun Jain <varunudr@amazon.com> --------- Signed-off-by: Varun Jain <varunudr@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Description
This PR has an implementation of Visitor design pattern in QueryBuilder.java. This is a counterpart of what lucene already has a visit method. This will empower search request processors as now every plugin query builder or a query builder in OS can modify the search request.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
9986
Check List
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.