From 35d9f726ca91e974e09b24d67f633a38744fe191 Mon Sep 17 00:00:00 2001 From: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com> Date: Thu, 22 May 2025 14:20:54 +0530 Subject: [PATCH] OSS add guards for sqrt, log1p etc (#21358) --- .../opensearch/OpenSearchSourceBuilderFactory.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchSourceBuilderFactory.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchSourceBuilderFactory.java index 2c8ed67c4a8..0752b6fafe5 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchSourceBuilderFactory.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchSourceBuilderFactory.java @@ -291,10 +291,18 @@ public class OpenSearchSourceBuilderFactory 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 OpenSearchSourceBuilderFactory break; case "sqrt": try { + condition = + QueryBuilders.boolQuery() + .filter(condition) + .filter(QueryBuilders.rangeQuery(fvb.getField()).gte(0)); factorBuilder.modifier(FieldValueFactorFunction.Modifier.SQRT); } catch (NoSuchFieldError ignored) { }