summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2015-02-23 14:01:57 +0100
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2015-02-23 14:01:57 +0100
commit8fb429de66dd5559ffc4baed12f1452a5cb5a41c (patch)
tree5436b1ace24e68c22d421e7d7576ce8b4353a497
parentacf96cf18a2255253e728b0f2a264ec2dfa61042 (diff)
downloadsonarqube-8fb429de66dd5559ffc4baed12f1452a5cb5a41c.tar.gz
sonarqube-8fb429de66dd5559ffc4baed12f1452a5cb5a41c.zip
SONAR-6009 Use filter instead of query for activation filter of rule search
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java34
1 files changed, 7 insertions, 27 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java b/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java
index a137d9a95da..963ada73730 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java
@@ -32,14 +32,7 @@ import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollRequestBuilder;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.common.unit.TimeValue;
-import org.elasticsearch.index.query.BoolFilterBuilder;
-import org.elasticsearch.index.query.BoolQueryBuilder;
-import org.elasticsearch.index.query.FilterBuilder;
-import org.elasticsearch.index.query.FilterBuilders;
-import org.elasticsearch.index.query.MatchQueryBuilder;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.SimpleQueryStringBuilder;
+import org.elasticsearch.index.query.*;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.AggregationBuilders;
@@ -56,25 +49,12 @@ import org.sonar.api.server.debt.DebtCharacteristic;
import org.sonar.core.rule.RuleDto;
import org.sonar.server.qualityprofile.index.ActiveRuleNormalizer;
import org.sonar.server.rule.Rule;
-import org.sonar.server.search.BaseIndex;
-import org.sonar.server.search.IndexDefinition;
-import org.sonar.server.search.IndexField;
-import org.sonar.server.search.QueryContext;
-import org.sonar.server.search.Result;
-import org.sonar.server.search.SearchClient;
-import org.sonar.server.search.StickyFacetBuilder;
+import org.sonar.server.search.*;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import static com.google.common.collect.Lists.newArrayList;
@@ -328,17 +308,17 @@ public class RuleIndex extends BaseIndex<Rule, RuleDto, RuleKey> {
}
// ActiveRule Filter (profile and inheritance)
- BoolFilterBuilder childrenFilter = FilterBuilders.boolFilter();
+ BoolFilterBuilder childrenFilter = FilterBuilders.boolFilter().cache(false);
this.addTermFilter(childrenFilter, ActiveRuleNormalizer.ActiveRuleField.PROFILE_KEY.field(), query.getQProfileKey());
this.addTermFilter(childrenFilter, ActiveRuleNormalizer.ActiveRuleField.INHERITANCE.field(), query.getInheritance());
this.addTermFilter(childrenFilter, ActiveRuleNormalizer.ActiveRuleField.SEVERITY.field(), query.getActiveSeverities());
// ChildQuery
- QueryBuilder childQuery;
+ FilterBuilder childQuery;
if (childrenFilter.hasClauses()) {
- childQuery = QueryBuilders.constantScoreQuery(childrenFilter);
+ childQuery = childrenFilter;
} else {
- childQuery = QueryBuilders.matchAllQuery();
+ childQuery = FilterBuilders.matchAllFilter();
}
/** Implementation of activation query */