From d5497ec2aca532b4f83e5089cc45b77ed130aa12 Mon Sep 17 00:00:00 2001 From: sonika-shah <58761340+sonika-shah@users.noreply.github.com> Date: Mon, 4 Nov 2024 15:26:49 +0530 Subject: [PATCH] Set max_analyzed_offset in HighlightBuilder to Fix Highlighting Errors for Large Fields (#18495) * Set max_analyzed_offset in HighlightBuilder to Fix Highlighting Errors for Large Fields * fix java checkstyle --------- Co-authored-by: Sriharsha Chintalapani --- .../org/openmetadata/service/search/EntityBuilderConstant.java | 1 + .../service/search/elasticsearch/ElasticSearchClient.java | 2 ++ .../service/search/opensearch/OpenSearchClient.java | 2 ++ 3 files changed, 5 insertions(+) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/EntityBuilderConstant.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/EntityBuilderConstant.java index 5815f984d7c..3b800b9cc5e 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/EntityBuilderConstant.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/EntityBuilderConstant.java @@ -28,6 +28,7 @@ public class EntityBuilderConstant { public static final String POST_TAG = ""; public static final Integer MAX_AGGREGATE_SIZE = 10000; public static final Integer MAX_RESULT_HITS = 10000; + public static final Integer MAX_ANALYZED_OFFSET = 1000; public static final String QUERY = "query"; public static final String QUERY_NGRAM = "query.ngram"; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java index 59f13145be8..e4fb3fe3c68 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/elasticsearch/ElasticSearchClient.java @@ -25,6 +25,7 @@ import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_COLUMN import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM; import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_NAME_NGRAM; import static org.openmetadata.service.search.EntityBuilderConstant.MAX_AGGREGATE_SIZE; +import static org.openmetadata.service.search.EntityBuilderConstant.MAX_ANALYZED_OFFSET; import static org.openmetadata.service.search.EntityBuilderConstant.MAX_RESULT_HITS; import static org.openmetadata.service.search.EntityBuilderConstant.OWNER_DISPLAY_NAME_KEYWORD; import static org.openmetadata.service.search.EntityBuilderConstant.POST_TAG; @@ -1442,6 +1443,7 @@ public class ElasticSearchClient implements SearchClient { } hb.preTags(PRE_TAG); hb.postTags(POST_TAG); + hb.maxAnalyzedOffset(MAX_ANALYZED_OFFSET); return hb; } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java index 537e47c01e2..bac465f2902 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/search/opensearch/OpenSearchClient.java @@ -23,6 +23,7 @@ import static org.openmetadata.service.search.EntityBuilderConstant.ES_TAG_FQN_F import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_COLUMN_NAMES; import static org.openmetadata.service.search.EntityBuilderConstant.FIELD_DISPLAY_NAME_NGRAM; import static org.openmetadata.service.search.EntityBuilderConstant.MAX_AGGREGATE_SIZE; +import static org.openmetadata.service.search.EntityBuilderConstant.MAX_ANALYZED_OFFSET; import static org.openmetadata.service.search.EntityBuilderConstant.MAX_RESULT_HITS; import static org.openmetadata.service.search.EntityBuilderConstant.OWNER_DISPLAY_NAME_KEYWORD; import static org.openmetadata.service.search.EntityBuilderConstant.POST_TAG; @@ -1274,6 +1275,7 @@ public class OpenSearchClient implements SearchClient { } hb.preTags(PRE_TAG); hb.postTags(POST_TAG); + hb.maxAnalyzerOffset(MAX_ANALYZED_OFFSET); return hb; }