Skip to content

Commit b9046eb

Browse files
authored
Visit the subquery builder recursively (#17953)
* visit the subquery Signed-off-by: Varun Jain <[email protected]> * Fix visit method of constant score query and function score query to iterate recursively Signed-off-by: Varun Jain <[email protected]> --------- Signed-off-by: Varun Jain <[email protected]>
1 parent 52b8b05 commit b9046eb

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

server/src/main/java/org/opensearch/index/query/ConstantScoreQueryBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,9 @@ protected void extractInnerHitBuilders(Map<String, InnerHitContextBuilder> inner
204204
@Override
205205
public void visit(QueryBuilderVisitor visitor) {
206206
visitor.accept(this);
207-
visitor.getChildVisitor(BooleanClause.Occur.FILTER).accept(filterBuilder);
207+
if (filterBuilder != null) {
208+
filterBuilder.visit(visitor.getChildVisitor(BooleanClause.Occur.FILTER));
209+
}
208210
}
209211

210212
}

server/src/main/java/org/opensearch/index/query/DisMaxQueryBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public void visit(QueryBuilderVisitor visitor) {
254254
if (queries.isEmpty() == false) {
255255
QueryBuilderVisitor subVisitor = visitor.getChildVisitor(BooleanClause.Occur.SHOULD);
256256
for (QueryBuilder subQb : queries) {
257-
subVisitor.accept(subQb);
257+
subQb.visit(subVisitor);
258258
}
259259
}
260260
}

server/src/main/java/org/opensearch/index/query/functionscore/FunctionScoreQueryBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -711,7 +711,7 @@ private static String parseFiltersAndFunctions(
711711
public void visit(QueryBuilderVisitor visitor) {
712712
visitor.accept(this);
713713
if (query != null) {
714-
visitor.getChildVisitor(BooleanClause.Occur.MUST).accept(query);
714+
query.visit(visitor.getChildVisitor(BooleanClause.Occur.MUST));
715715
}
716716
}
717717
}

0 commit comments

Comments
 (0)