From 204275cc2d7fc520e1f9ea2b0f2ad6161af706c5 Mon Sep 17 00:00:00 2001 From: Damian Warszawski <damian.warszawski@ing.com> Date: Tue, 28 Apr 2020 22:55:21 +0200 Subject: [PATCH] ATLAS-3760: optimize freetext search handling of excludeDeletedEntities flag Signed-off-by: Madhan Neethiraj <madhan@apache.org> --- repository/src/main/java/org/apache/atlas/discovery/FreeTextSearchProcessor.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/repository/src/main/java/org/apache/atlas/discovery/FreeTextSearchProcessor.java b/repository/src/main/java/org/apache/atlas/discovery/FreeTextSearchProcessor.java index 92b5eb4..9850d8e 100644 --- a/repository/src/main/java/org/apache/atlas/discovery/FreeTextSearchProcessor.java +++ b/repository/src/main/java/org/apache/atlas/discovery/FreeTextSearchProcessor.java @@ -57,6 +57,8 @@ public class FreeTextSearchProcessor extends SearchProcessor { queryString.append(AND_STR).append(context.getEntityTypesQryStr()); } + graphIndexQueryBuilder.addActiveStateQueryFilter(queryString); + if (CollectionUtils.isNotEmpty(context.getClassificationTypes()) && context.getClassificationTypesQryStr().length() <= MAX_QUERY_STR_LENGTH_TYPES) { queryString.append(AND_STR).append(context.getClassificationTypesQryStr()); } @@ -90,9 +92,8 @@ public class FreeTextSearchProcessor extends SearchProcessor { } try { - final int startIdx = context.getSearchParameters().getOffset(); - final int limit = context.getSearchParameters().getLimit(); - final boolean activeOnly = context.getSearchParameters().getExcludeDeletedEntities(); + final int startIdx = context.getSearchParameters().getOffset(); + final int limit = context.getSearchParameters().getLimit(); // query to start at 0, even though startIdx can be higher - because few results in earlier retrieval could // have been dropped: like vertices of non-entity or non-active-entity @@ -137,10 +138,6 @@ public class FreeTextSearchProcessor extends SearchProcessor { continue; } - if (activeOnly && AtlasGraphUtilsV2.getState(vertex) != AtlasEntity.Status.ACTIVE) { - continue; - } - if (context.getClassificationType() != null) { List<String> entityClassifications = GraphHelper.getAllTraitNames(vertex); -- libgit2 0.27.1