From a524283f9c0efc249cc6a9f05e395ed78d972e39 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 2defa99be13..7cd8164e378 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 @@ -24,6 +24,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; @@ -1198,6 +1199,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 77341eadad8..87286ce5e4e 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 @@ -22,6 +22,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; @@ -995,6 +996,7 @@ public class OpenSearchClient implements SearchClient { } hb.preTags(PRE_TAG); hb.postTags(POST_TAG); + hb.maxAnalyzerOffset(MAX_ANALYZED_OFFSET); return hb; }