summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java9
-rw-r--r--sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java4
2 files changed, 12 insertions, 1 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java b/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java
index 7a92bf65ec5..3bd1a519c3b 100644
--- a/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java
+++ b/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java
@@ -158,7 +158,13 @@ public class RuleIndex extends BaseIndex<Rule, RuleDto, RuleKey> {
field.field(), field.field() + "." + IndexField.SEARCH_PARTIAL_SUFFIX)
.operator(MatchQueryBuilder.Operator.AND)
.boost(boost);
+ }
+ private QueryBuilder termAnyQuery(IndexField field, String query, float boost) {
+ return QueryBuilders.multiMatchQuery(query,
+ field.field(), field.field() + "." + IndexField.SEARCH_PARTIAL_SUFFIX)
+ .operator(MatchQueryBuilder.Operator.OR)
+ .boost(boost);
}
/* Build main query (search based) */
@@ -176,8 +182,11 @@ public class RuleIndex extends BaseIndex<Rule, RuleDto, RuleKey> {
qb.should(this.termQuery(RuleNormalizer.RuleField.KEY, queryString, 15f));
qb.should(this.termQuery(RuleNormalizer.RuleField.LANGUAGE, queryString, 3f));
qb.should(this.termQuery(RuleNormalizer.RuleField.CHARACTERISTIC, queryString, 5f));
+ qb.should(this.termAnyQuery(RuleNormalizer.RuleField.CHARACTERISTIC, queryString, 1f));
qb.should(this.termQuery(RuleNormalizer.RuleField.SUB_CHARACTERISTIC, queryString, 5f));
+ qb.should(this.termAnyQuery(RuleNormalizer.RuleField.SUB_CHARACTERISTIC, queryString, 1f));
qb.should(this.termQuery(RuleNormalizer.RuleField._TAGS, queryString, 10f));
+ qb.should(this.termAnyQuery(RuleNormalizer.RuleField._TAGS, queryString, 1f));
return qb;
diff --git a/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java b/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java
index d8a9e75aada..3f10c0c0416 100644
--- a/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java
+++ b/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java
@@ -324,7 +324,9 @@ public abstract class BaseIndex<DOMAIN, DTO extends Dto<KEY>, KEY extends Serial
mapping.put("fields", mapMultiField(field));
} else {
mapping.put("type", "string");
- mapping.put("index", "not_analyzed");
+ mapping.put("index", "analyzed");
+ mapping.put("index_analyzer", "keyword");
+ mapping.put("search_analyzer", "whitespace");
}
return mapping;
}