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 7bf576b9c4328b1827669e9e840af98648f04102..312db6be6f97a418606cfde4c3a6d9b2c1d0f025 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 63d37a678401958a88a422d053a50f3769858212..751f134c298e9619f741b36bf042b6a4ce37aadf 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()) {