Skip to content

Commit efcf9c4

Browse files
Updating knn to copy constructor
1 parent d5e7caa commit efcf9c4

File tree

2 files changed

+16
-31
lines changed

2 files changed

+16
-31
lines changed

server/src/main/java/org/elasticsearch/search/vectors/KnnVectorQueryBuilder.java

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -265,34 +265,22 @@ public KnnVectorQueryBuilder(StreamInput in) throws IOException {
265265
this.queryVectorSupplier = null;
266266
}
267267

268-
public static KnnVectorQueryBuilder from(KnnVectorQueryBuilder queryBuilder) {
269-
return from(queryBuilder, queryBuilder.getFieldName(), queryBuilder.queryVectorBuilder());
268+
public KnnVectorQueryBuilder(KnnVectorQueryBuilder queryBuilder) {
269+
this(queryBuilder, queryBuilder.getFieldName(), queryBuilder.queryVectorBuilder());
270270
}
271271

272-
public static KnnVectorQueryBuilder from(KnnVectorQueryBuilder queryBuilder, String fieldName, QueryVectorBuilder queryVectorBuilder) {
273-
KnnVectorQueryBuilder knnVectorQueryBuilder;
274-
if (queryBuilder.queryVectorBuilder() != null) {
275-
knnVectorQueryBuilder = new KnnVectorQueryBuilder(
276-
fieldName,
277-
queryVectorBuilder,
278-
queryBuilder.k(),
279-
queryBuilder.numCands(),
280-
queryBuilder.getVectorSimilarity()
281-
);
282-
} else {
283-
knnVectorQueryBuilder = new KnnVectorQueryBuilder(
284-
fieldName,
285-
queryBuilder.queryVector(),
286-
queryBuilder.k(),
287-
queryBuilder.numCands(),
288-
queryBuilder.rescoreVectorBuilder(),
289-
queryBuilder.getVectorSimilarity()
290-
);
291-
}
292-
293-
knnVectorQueryBuilder.boost(queryBuilder.boost());
294-
knnVectorQueryBuilder.queryName(queryBuilder.queryName());
295-
return knnVectorQueryBuilder;
272+
public KnnVectorQueryBuilder(KnnVectorQueryBuilder queryBuilder, String fieldName, QueryVectorBuilder queryVectorBuilder) {
273+
this(fieldName,
274+
queryBuilder.queryVector(),
275+
queryVectorBuilder,
276+
null,
277+
queryBuilder.k(),
278+
queryBuilder.numCands(),
279+
queryBuilder.rescoreVectorBuilder(),
280+
queryBuilder.getVectorSimilarity());
281+
this.boost = queryBuilder.boost();
282+
this.queryName = queryBuilder.queryName();
283+
this.filterQueries.addAll(queryBuilder.filterQueries());
296284
}
297285

298286
public String getFieldName() {

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ private QueryBuilder buildNestedQueryFromKnnVectorQuery(
129129
}
130130

131131
private KnnVectorQueryBuilder addIndexFilterToKnnVectorQuery(Collection<String> indices, KnnVectorQueryBuilder original) {
132-
KnnVectorQueryBuilder copy = KnnVectorQueryBuilder.from(original);
133-
copy.addFilterQueries(original.filterQueries());
132+
KnnVectorQueryBuilder copy = new KnnVectorQueryBuilder(original);
134133
copy.addFilterQuery(new TermsQueryBuilder(IndexFieldMapper.NAME, indices));
135134
return copy;
136135
}
@@ -149,9 +148,7 @@ private KnnVectorQueryBuilder buildNewKnnVectorQuery(
149148
KnnVectorQueryBuilder original,
150149
QueryVectorBuilder queryVectorBuilder
151150
) {
152-
KnnVectorQueryBuilder newQueryBuilder = KnnVectorQueryBuilder.from(original, fieldName, queryVectorBuilder);
153-
newQueryBuilder.addFilterQueries(original.filterQueries());
154-
return newQueryBuilder;
151+
return new KnnVectorQueryBuilder(original, fieldName, queryVectorBuilder);
155152
}
156153

157154
@Override

0 commit comments

Comments
 (0)