diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticMapping.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticMapping.java index 599a1689b7..e9f3cb3971 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticMapping.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticMapping.java @@ -28,8 +28,6 @@ class ElasticMapping { FieldType fieldType = field.getType(); if (fieldType == FieldType.EXACT) { mapping.addExactField(name); - } else if (fieldType == FieldType.KEYWORD) { - mapping.addKeywordField(name); } else if (fieldType == FieldType.TIMESTAMP) { mapping.addTimestamp(name); } else if (fieldType == FieldType.INTEGER @@ -63,20 +61,10 @@ class ElasticMapping { } Builder addExactField(String name) { - FieldProperties key = new FieldProperties(adapter.keywordFieldType()); + FieldProperties key = new FieldProperties(adapter.exactFieldType()); key.index = adapter.indexProperty(); FieldProperties properties; - properties = new FieldProperties(adapter.stringFieldType()); - properties.fields = ImmutableMap.of("key", key); - fields.put(name, properties); - return this; - } - - Builder addKeywordField(String name) { - FieldProperties key = new FieldProperties(adapter.keywordFieldType()); - key.index = adapter.indexProperty(); - FieldProperties properties; - properties = new FieldProperties(adapter.keywordFieldType()); + properties = new FieldProperties(adapter.exactFieldType()); properties.fields = ImmutableMap.of("key", key); fields.put(name, properties); return this; diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java index 2ed75df464..72af49a905 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java @@ -20,7 +20,7 @@ public class ElasticQueryAdapter { private final boolean ignoreUnmapped; private final String searchFilteringName; private final String indicesExistParam; - private final String keywordFieldType; + private final String exactFieldType; private final String stringFieldType; private final String indexProperty; @@ -31,7 +31,7 @@ public class ElasticQueryAdapter { case V6_2: this.searchFilteringName = "_source"; this.indicesExistParam = "?allow_no_indices=false"; - this.keywordFieldType = "keyword"; + this.exactFieldType = "keyword"; this.stringFieldType = "text"; this.indexProperty = "true"; break; @@ -39,7 +39,7 @@ public class ElasticQueryAdapter { default: this.searchFilteringName = "fields"; this.indicesExistParam = ""; - this.keywordFieldType = "string"; + this.exactFieldType = "string"; this.stringFieldType = "string"; this.indexProperty = "not_analyzed"; break; @@ -60,8 +60,8 @@ public class ElasticQueryAdapter { return indicesExistParam; } - String keywordFieldType() { - return keywordFieldType; + String exactFieldType() { + return exactFieldType; } String stringFieldType() { diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryBuilder.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryBuilder.java index 13e29e458e..5281ebea93 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryBuilder.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryBuilder.java @@ -94,7 +94,7 @@ public class ElasticQueryBuilder { return intRangeQuery(p); } else if (type == FieldType.TIMESTAMP) { return timestampQuery(p); - } else if (type == FieldType.EXACT || type == FieldType.KEYWORD) { + } else if (type == FieldType.EXACT) { return exactQuery(p); } else if (type == FieldType.PREFIX) { return QueryBuilders.matchPhrasePrefixQuery(name, value); diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AbstractLuceneIndex.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AbstractLuceneIndex.java index 607fc904bb..5c3183ad08 100644 --- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AbstractLuceneIndex.java +++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AbstractLuceneIndex.java @@ -337,7 +337,7 @@ public abstract class AbstractLuceneIndex implements Index { for (Object value : values.getValues()) { doc.add(new LongField(name, ((Timestamp) value).getTime(), store)); } - } else if (type == FieldType.KEYWORD || type == FieldType.EXACT || type == FieldType.PREFIX) { + } else if (type == FieldType.EXACT || type == FieldType.PREFIX) { for (Object value : values.getValues()) { doc.add(new StringField(name, (String) value, store)); } diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java index d619a0b01e..74111a0cde 100644 --- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java +++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/QueryBuilder.java @@ -148,7 +148,7 @@ public class QueryBuilder { return intRangeQuery(p); } else if (type == FieldType.TIMESTAMP) { return timestampQuery(p); - } else if (type == FieldType.EXACT || type == FieldType.KEYWORD) { + } else if (type == FieldType.EXACT) { return exactQuery(p); } else if (type == FieldType.PREFIX) { return prefixQuery(p); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldDef.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldDef.java index 3b408a041b..d5f109102f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldDef.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldDef.java @@ -39,10 +39,6 @@ public final class FieldDef { return new FieldDef.Builder<>(FieldType.EXACT, name); } - public static FieldDef.Builder keyword(String name) { - return new FieldDef.Builder<>(FieldType.KEYWORD, name); - } - public static FieldDef.Builder fullText(String name) { return new FieldDef.Builder<>(FieldType.FULL_TEXT, name); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldType.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldType.java index 04c0b4432e..820b62a884 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldType.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/FieldType.java @@ -33,9 +33,6 @@ public class FieldType { /** A string field searched using exact-match semantics. */ public static final FieldType EXACT = new FieldType<>("EXACT"); - /** A Keyword field searched using non-analyzed-match semantics. */ - public static final FieldType KEYWORD = new FieldType<>("KEYWORD"); - /** A string field searched using prefix. */ public static final FieldType PREFIX = new FieldType<>("PREFIX"); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupField.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupField.java index 581b037d97..5e72327487 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupField.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/group/GroupField.java @@ -17,7 +17,6 @@ package com.google.gerrit.server.index.group; import static com.google.gerrit.server.index.FieldDef.exact; import static com.google.gerrit.server.index.FieldDef.fullText; import static com.google.gerrit.server.index.FieldDef.integer; -import static com.google.gerrit.server.index.FieldDef.keyword; import static com.google.gerrit.server.index.FieldDef.prefix; import com.google.gerrit.reviewdb.client.AccountGroup; @@ -32,11 +31,11 @@ public class GroupField { /** Group UUID. */ public static final FieldDef UUID = - keyword("uuid").stored().build(g -> g.getGroupUUID().get()); + exact("uuid").stored().build(g -> g.getGroupUUID().get()); /** Group owner UUID. */ public static final FieldDef OWNER_UUID = - keyword("owner_uuid").build(g -> g.getOwnerGroupUUID().get()); + exact("owner_uuid").build(g -> g.getOwnerGroupUUID().get()); /** Group name. */ public static final FieldDef NAME =