@@ -131,11 +131,6 @@ public OpenSearchSearchManager(
131131 this .nlqService = nlqService ;
132132 }
133133
134- private SearchResponse <JsonData > searchWithLenientDeserialization (SearchRequest request )
135- throws IOException {
136- return OsUtils .searchWithLenientDeserialization (client , request );
137- }
138-
139134 @ Override
140135 public Response search (
141136 org .openmetadata .schema .search .SearchRequest request , SubjectContext subjectContext )
@@ -178,13 +173,13 @@ public Response searchBySourceUrl(String sourceUrl) throws IOException {
178173 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
179174 SearchResponse <JsonData > response ;
180175 try {
181- response = searchWithLenientDeserialization (searchRequest );
176+ response = client . search (searchRequest , JsonData . class );
182177 } finally {
183178 if (searchTimerSample != null ) {
184179 RequestLatencyContext .endSearchOperation (searchTimerSample );
185180 }
186181 }
187- return Response .status (OK ).entity (OsUtils . toJsonStringLenient ( response )).build ();
182+ return Response .status (OK ).entity (response . toJsonString ( )).build ();
188183 }
189184
190185 @ Override
@@ -216,13 +211,13 @@ public Response searchByField(String fieldName, String fieldValue, String index,
216211 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
217212 SearchResponse <JsonData > response ;
218213 try {
219- response = searchWithLenientDeserialization (searchRequest );
214+ response = client . search (searchRequest , JsonData . class );
220215 } finally {
221216 if (searchTimerSample != null ) {
222217 RequestLatencyContext .endSearchOperation (searchTimerSample );
223218 }
224219 }
225- return Response .status (OK ).entity (OsUtils . toJsonStringLenient ( response )).build ();
220+ return Response .status (OK ).entity (response . toJsonString ( )).build ();
226221 }
227222
228223 @ Override
@@ -303,7 +298,7 @@ private SearchResultListMapper doListWithOffset(
303298 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
304299 SearchResponse <JsonData > response ;
305300 try {
306- response = searchWithLenientDeserialization (searchRequest );
301+ response = client . search (searchRequest , JsonData . class );
307302 } finally {
308303 if (searchTimerSample != null ) {
309304 RequestLatencyContext .endSearchOperation (searchTimerSample );
@@ -480,7 +475,7 @@ public SearchResultListMapper listWithDeepPagination(
480475 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
481476 SearchResponse <JsonData > response ;
482477 try {
483- response = searchWithLenientDeserialization (searchRequest );
478+ response = client . search (searchRequest , JsonData . class );
484479 } finally {
485480 if (searchTimerSample != null ) {
486481 RequestLatencyContext .endSearchOperation (searchTimerSample );
@@ -574,7 +569,7 @@ public Response searchWithNLQ(
574569 addAggregationsToNLQQuery (requestBuilder , request .getIndex ());
575570
576571 SearchResponse <JsonData > response =
577- searchWithLenientDeserialization (requestBuilder .build (request .getIndex ()));
572+ client . search (requestBuilder .build (request .getIndex ()), JsonData . class );
578573
579574 // End search operation timing
580575 if (searchTimerSample != null ) {
@@ -588,9 +583,7 @@ public Response searchWithNLQ(
588583 nlqService .cacheQuery (request .getQuery (), transformedQuery );
589584 }
590585
591- return Response .status (Response .Status .OK )
592- .entity (OsUtils .toJsonStringLenient (response ))
593- .build ();
586+ return Response .status (Response .Status .OK ).entity (response .toJsonString ()).build ();
594587 } catch (Exception e ) {
595588 LOG .error ("Error transforming or executing NLQ query: {}" , e .getMessage (), e );
596589 return fallbackToBasicSearch (request , subjectContext );
@@ -649,14 +642,14 @@ public Response searchWithDirectQuery(
649642 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
650643 SearchResponse <JsonData > response ;
651644 try {
652- response = searchWithLenientDeserialization (searchRequest );
645+ response = client . search (searchRequest , JsonData . class );
653646 } finally {
654647 if (searchTimerSample != null ) {
655648 RequestLatencyContext .endSearchOperation (searchTimerSample );
656649 }
657650 }
658651
659- String responseJson = OsUtils . toJsonStringLenient ( response );
652+ String responseJson = response . toJsonString ( );
660653 LOG .debug ("Direct query search completed successfully" );
661654 return Response .status (Response .Status .OK ).entity (responseJson ).build ();
662655 } catch (Exception e ) {
@@ -743,7 +736,7 @@ private void collectNodesAndEdgesForDQ(
743736 SearchResponse <JsonData > searchResponse = performLineageSearchForDQ (fqn , queryFilter , deleted );
744737 Optional <List > optionalDocs =
745738 JsonUtils .readJsonAtPath (
746- OsUtils . toJsonStringLenient ( searchResponse ), "$.hits.hits[*]._source" , List .class );
739+ searchResponse . toJsonString ( ), "$.hits.hits[*]._source" , List .class );
747740
748741 if (optionalDocs .isPresent ()) {
749742 List <Map <String , Object >> docs = (List <Map <String , Object >>) optionalDocs .get ();
@@ -848,9 +841,7 @@ private SearchResponse<JsonData> performLineageSearchForDQ(
848841
849842 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
850843 try {
851- SearchRequest searchRequest =
852- SearchRequest .of (s -> s .index (indexName ).query (boolQuery ).size (1000 ));
853- return searchWithLenientDeserialization (searchRequest );
844+ return client .search (s -> s .index (indexName ).query (boolQuery ).size (1000 ), JsonData .class );
854845 } finally {
855846 if (searchTimerSample != null ) {
856847 RequestLatencyContext .endSearchOperation (searchTimerSample );
@@ -1214,14 +1205,14 @@ public Response doSearch(
12141205 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
12151206
12161207 SearchRequest searchRequest = requestBuilder .build (request .getIndex ());
1217- SearchResponse <JsonData > searchResponse = searchWithLenientDeserialization (searchRequest );
1208+ SearchResponse <JsonData > searchResponse = client . search (searchRequest , JsonData . class );
12181209
12191210 if (searchTimerSample != null ) {
12201211 RequestLatencyContext .endSearchOperation (searchTimerSample );
12211212 }
12221213
12231214 if (!Boolean .TRUE .equals (request .getIsHierarchy ())) {
1224- return Response .status (OK ).entity (OsUtils . toJsonStringLenient ( searchResponse )).build ();
1215+ return Response .status (OK ).entity (searchResponse . toJsonString ( )).build ();
12251216 } else {
12261217 List <?> response = buildSearchHierarchy (request , searchResponse , clusterAlias );
12271218 return Response .status (OK ).entity (response ).build ();
@@ -1313,7 +1304,7 @@ private OpenSearchRequestBuilder buildHierarchyQuery(
13131304 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
13141305 SearchResponse <JsonData > searchResponse ;
13151306 try {
1316- searchResponse = searchWithLenientDeserialization (searchRequest );
1307+ searchResponse = client . search (searchRequest , JsonData . class );
13171308 } finally {
13181309 if (searchTimerSample != null ) {
13191310 RequestLatencyContext .endSearchOperation (searchTimerSample );
@@ -1510,16 +1501,14 @@ private Response fallbackToBasicSearch(
15101501 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
15111502 SearchResponse <JsonData > searchResponse ;
15121503 try {
1513- searchResponse = searchWithLenientDeserialization (searchRequest );
1504+ searchResponse = client . search (searchRequest , JsonData . class );
15141505 } finally {
15151506 if (searchTimerSample != null ) {
15161507 RequestLatencyContext .endSearchOperation (searchTimerSample );
15171508 }
15181509 }
15191510
1520- return Response .status (Response .Status .OK )
1521- .entity (OsUtils .toJsonStringLenient (searchResponse ))
1522- .build ();
1511+ return Response .status (Response .Status .OK ).entity (searchResponse .toJsonString ()).build ();
15231512 } catch (Exception e ) {
15241513 LOG .error ("Error in fallback search: {}" , e .getMessage (), e );
15251514 return Response .status (Response .Status .INTERNAL_SERVER_ERROR )
@@ -1548,7 +1537,7 @@ public Map<String, Object> searchEntityRelationshipInternal(
15481537 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
15491538 SearchResponse <JsonData > searchResponse ;
15501539 try {
1551- searchResponse = searchWithLenientDeserialization (searchRequest );
1540+ searchResponse = client . search (searchRequest , JsonData . class );
15521541 } finally {
15531542 if (searchTimerSample != null ) {
15541543 RequestLatencyContext .endSearchOperation (searchTimerSample );
@@ -1603,7 +1592,7 @@ public Map<String, Object> searchSchemaEntityRelationshipInternal(
16031592 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
16041593 SearchResponse <JsonData > searchResponse ;
16051594 try {
1606- searchResponse = searchWithLenientDeserialization (searchRequest );
1595+ searchResponse = client . search (searchRequest , JsonData . class );
16071596 } finally {
16081597 if (searchTimerSample != null ) {
16091598 RequestLatencyContext .endSearchOperation (searchTimerSample );
@@ -1713,7 +1702,7 @@ private void getEntityRelationship(
17131702 Timer .Sample searchTimerSample = RequestLatencyContext .startSearchOperation ();
17141703 SearchResponse <JsonData > searchResponse ;
17151704 try {
1716- searchResponse = searchWithLenientDeserialization (searchRequest );
1705+ searchResponse = client . search (searchRequest , JsonData . class );
17171706 } finally {
17181707 if (searchTimerSample != null ) {
17191708 RequestLatencyContext .endSearchOperation (searchTimerSample );
0 commit comments