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

Add filter function for NeuralQueryBuilder and HybridQueryBuilder and… #1206

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

chloewqg
Copy link

@chloewqg chloewqg commented Mar 3, 2025

… modify fromXContent function in HybridQueryBuilder to support filter field.

Description

Add filter function to NeuralQueryBuilder and HybridQueryBuilder, which allows to push down non null filter. One exception is that when HybridQueryBuilder has a nested HybridQueryBuilder, then calling the filter function will cause UnsupportedOperationException

Related Issues

Resolves #1206

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.

… modify fromXContent function in HybridQueryBuilder to support filter field.

Signed-off-by: Chloe Gao <chloewq@amazon.com>
@@ -94,6 +95,31 @@ public HybridQueryBuilder add(QueryBuilder queryBuilder) {
return this;
}

/**
* Function to support filter function on HybridQueryBuilder filter. Currently pushing down a filter
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Function to support filter function on HybridQueryBuilder filter. Currently pushing down a filter
* Function to support filter on HybridQueryBuilder filter. Currently pushing down a filter

* @return return itself with underlying filter combined with passed in filter
*/
public QueryBuilder filter(QueryBuilder filterToBeAdded) {
if (validateFilterParams(filterToBeAdded) == false) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the method validateFilterParams is missed i think.

if (!validateFilterParams(filter)) {
return this;
}
HybridQueryBuilder compoundQueryBuilder = new HybridQueryBuilder();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have to create a new query builder instead of returning this?

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

Successfully merging this pull request may close these issues.

3 participants