From 61a7028f3fae33e0417efe1de49c01b8c5ef1923 Mon Sep 17 00:00:00 2001 From: AMIT KUMAR <amit.kumar@tarento.com> Date: Thu, 9 Jun 2022 10:56:46 +0530 Subject: [PATCH] Issue #SB-29813 feat:fixed fuzzy issue (#1082) * Issue #SB-29813 feat:fixed fuzzy issue * Issue #SB-29813 feat:fixed fuzzy issue --- .../java/org/sunbird/common/ElasticSearchHelper.java | 8 +++----- .../org/sunbird/common/ElasticSearchRestHighImpl.java | 10 ++++------ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchHelper.java b/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchHelper.java index 7bf576b9c..312db6be6 100644 --- a/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchHelper.java +++ b/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchHelper.java @@ -22,7 +22,6 @@ import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.unit.Fuzziness; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.ExistsQueryBuilder; -import org.elasticsearch.index.query.MatchQueryBuilder; import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; @@ -449,10 +448,9 @@ public class ElasticSearchHelper { * @param value of the attribute * @return MatchQueryBuilder */ - public static MatchQueryBuilder createFuzzyMatchQuery(String name, Object value) { - return QueryBuilders.matchQuery(name, value) - .fuzziness(Fuzziness.AUTO) - .fuzzyTranspositions(true); + public static void createFuzzyMatchQuery(BoolQueryBuilder query, String name, Object value) { + query.must( + QueryBuilders.matchQuery(name, value).fuzziness(Fuzziness.AUTO).fuzzyTranspositions(true)); } /** diff --git a/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchRestHighImpl.java b/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchRestHighImpl.java index 63d37a678..751f134c2 100644 --- a/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchRestHighImpl.java +++ b/core/es-utils/src/main/java/org/sunbird/common/ElasticSearchRestHighImpl.java @@ -427,16 +427,14 @@ public class ElasticSearchRestHighImpl implements ElasticSearchService { } } - // set final query to search request builder - searchSourceBuilder.query(query); - // do fuzzy search if (MapUtils.isNotEmpty(searchDTO.getFuzzy())) { Map.Entry<String, String> entry = searchDTO.getFuzzy().entrySet().iterator().next(); - MatchQueryBuilder queryBuilder = - ElasticSearchHelper.createFuzzyMatchQuery(entry.getKey(), entry.getValue()); - searchSourceBuilder.query(queryBuilder); + ElasticSearchHelper.createFuzzyMatchQuery(query, entry.getKey(), entry.getValue()); } + // set final query to search request builder + searchSourceBuilder.query(query); + List finalFacetList = new ArrayList(); if (null != searchDTO.getFacets() && !searchDTO.getFacets().isEmpty()) { -- GitLab