Skip to content

Commit 6db0abf

Browse files
refactoring match query to adjust boost and queryname and move to copy constructor
1 parent f449299 commit 6db0abf

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/queries/SemanticMatchQueryRewriteInterceptor.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ protected String getQuery(QueryBuilder queryBuilder) {
3636

3737
@Override
3838
protected QueryBuilder buildInferenceQuery(QueryBuilder queryBuilder, InferenceIndexInformationForField indexInformation) {
39-
return SemanticQueryBuilder.from(queryBuilder, indexInformation.fieldName(), getQuery(queryBuilder), false);
39+
return new SemanticQueryBuilder(queryBuilder, indexInformation.fieldName(), getQuery(queryBuilder), false);
4040
}
4141

4242
@Override
@@ -47,9 +47,15 @@ protected QueryBuilder buildCombinedInferenceAndNonInferenceQuery(
4747
assert (queryBuilder instanceof MatchQueryBuilder);
4848
MatchQueryBuilder matchQueryBuilder = (MatchQueryBuilder) queryBuilder;
4949
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
50-
QueryBuilder semanticQueryBuilder = createSemanticSubQuery(indexInformation.getInferenceIndices(), matchQueryBuilder);
51-
boolQueryBuilder.should(semanticQueryBuilder);
50+
boolQueryBuilder.should(
51+
createSemanticSubQuery(
52+
indexInformation.getInferenceIndices(),
53+
matchQueryBuilder
54+
)
55+
);
5256
boolQueryBuilder.should(createSubQueryForIndices(indexInformation.nonInferenceIndices(), matchQueryBuilder));
57+
boolQueryBuilder.boost(matchQueryBuilder.boost());
58+
boolQueryBuilder.queryName(matchQueryBuilder.queryName());
5359
return boolQueryBuilder;
5460
}
5561

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/queries/SemanticQueryBuilder.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,10 @@ public SemanticQueryBuilder(StreamInput in) throws IOException {
109109
}
110110
}
111111

112-
public static SemanticQueryBuilder from(QueryBuilder queryBuilder, String fieldName, String query, Boolean lenient) {
113-
SemanticQueryBuilder semanticQueryBuilder = new SemanticQueryBuilder(fieldName, query, lenient);
114-
semanticQueryBuilder.boost(queryBuilder.boost());
115-
semanticQueryBuilder.queryName(queryBuilder.queryName());
116-
return semanticQueryBuilder;
112+
public SemanticQueryBuilder(QueryBuilder queryBuilder, String fieldName, String query, Boolean lenient) {
113+
this(fieldName, query, lenient);
114+
this.boost = queryBuilder.boost();
115+
this.queryName = queryBuilder.queryName();
117116
}
118117

119118
@Override

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/queries/SemanticQueryRewriteInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ protected QueryBuilder createSubQueryForIndices(Collection<String> indices, Quer
116116

117117
protected QueryBuilder createSemanticSubQuery(Collection<String> indices, QueryBuilder queryBuilder) {
118118
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
119-
boolQueryBuilder.must(SemanticQueryBuilder.from(queryBuilder, getFieldName(queryBuilder), getQuery(queryBuilder), true));
119+
boolQueryBuilder.must(new SemanticQueryBuilder(getFieldName(queryBuilder), getQuery(queryBuilder), true));
120120
boolQueryBuilder.filter(new TermsQueryBuilder(IndexFieldMapper.NAME, indices));
121121
return boolQueryBuilder;
122122
}

0 commit comments

Comments
 (0)