Add Guards for function boost negative values (#21356)

(cherry picked from commit 8346303978e43046f5da7b094817a758308c7ec0)
This commit is contained in:
Mohit Yadav 2025-05-22 13:19:24 +05:30 committed by mohitdeuex
parent 9afa80d391
commit 75315669cc

View File

@ -291,10 +291,18 @@ public class ElasticSearchSourceBuilderFactory
if (fvb.getModifier() != null) {
switch (fvb.getModifier().value()) {
case "log":
condition =
QueryBuilders.boolQuery()
.filter(condition)
.filter(QueryBuilders.rangeQuery(fvb.getField()).gt(0));
factorBuilder.modifier(FieldValueFactorFunction.Modifier.LOG);
break;
case "log1p":
try {
condition =
QueryBuilders.boolQuery()
.filter(condition)
.filter(QueryBuilders.rangeQuery(fvb.getField()).gt(-1));
factorBuilder.modifier(FieldValueFactorFunction.Modifier.LOG1P);
} catch (NoSuchFieldError e) {
factorBuilder.modifier(FieldValueFactorFunction.Modifier.LOG);
@ -302,6 +310,10 @@ public class ElasticSearchSourceBuilderFactory
break;
case "sqrt":
try {
condition =
QueryBuilders.boolQuery()
.filter(condition)
.filter(QueryBuilders.rangeQuery(fvb.getField()).gte(0));
factorBuilder.modifier(FieldValueFactorFunction.Modifier.SQRT);
} catch (NoSuchFieldError ignored) {
}