Skip to content

Commit 6cbf31a

Browse files
committed
Add docs and fix equals / hashCode
1 parent 52f75f1 commit 6cbf31a

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/FullTextFunction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,14 @@ public EvalOperator.ExpressionEvaluator.Factory toEvaluator(ToEvaluator toEvalua
389389
return new LuceneQueryExpressionEvaluator.Factory(shardConfigs);
390390
}
391391

392+
/**
393+
* Returns the query builder to be used when the function cannot be pushed down to Lucene, but uses a
394+
* {@link org.elasticsearch.compute.lucene.LuceneQueryEvaluator} instead
395+
*
396+
* @return the query builder to be used in the {@link org.elasticsearch.compute.lucene.LuceneQueryEvaluator}
397+
*/
392398
protected QueryBuilder evaluatorQueryBuilder() {
399+
// Use the same query builder as for the translation by default
393400
return queryBuilder();
394401
}
395402

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/Knn.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,8 @@ private Map<String, Object> queryOptions() throws InvalidArgumentException {
292292
}
293293

294294
protected QueryBuilder evaluatorQueryBuilder() {
295-
// Either we couldn't push down due to non-pushable filters, or becauses it's part of a disjuncion. Use exact query.
295+
// Either we couldn't push down due to non-pushable filters, or because it's part of a disjuncion.
296+
// Uses a nearest neighbors exact query instead of an approximate one
296297
var fieldAttribute = Match.fieldAsFieldAttribute(field());
297298
Check.notNull(fieldAttribute, "Knn must have a field attribute as the first argument");
298299
String fieldName = getNameFromFieldAttribute(fieldAttribute);
@@ -359,13 +360,12 @@ public boolean equals(Object o) {
359360
return Objects.equals(field(), knn.field())
360361
&& Objects.equals(query(), knn.query())
361362
&& Objects.equals(queryBuilder(), knn.queryBuilder())
362-
&& Objects.equals(k(), knn.k())
363363
&& Objects.equals(filterExpressions(), knn.filterExpressions());
364364
}
365365

366366
@Override
367367
public int hashCode() {
368-
return Objects.hash(field(), query(), queryBuilder(), k(), filterExpressions());
368+
return Objects.hash(field(), query(), queryBuilder(), filterExpressions());
369369
}
370370

371371
}

0 commit comments

Comments
 (0)