commit | 3632dadb3a1956d57a5e7e5d2325990ca218364e | [log] [tgz] |
---|---|---|
author | David Pursehouse <dpursehouse@collab.net> | Mon Jun 04 11:13:17 2018 +0900 |
committer | David Pursehouse <dpursehouse@collab.net> | Mon Jun 04 14:04:02 2018 +0900 |
tree | e8710be8ed63497dd2f5f980d1d2b456e7374356 | |
parent | 59d4c5108e6a0578a25eaccd5442c030eef2bc8d [diff] |
GroupField: Change UUID fields' type to KEYWORD This is a preparatory change for adding support for Elasticsearch version 5, where handling of keyword types is changed. For the Lucene index, handle KEYWORD the same way as EXACT. For Elasticsearch, also handle both KEYWORD and EXACT in the same way since at this point we don't yet support Elasticsearch 5. Change-Id: I545c3ce85b44f6f640c51afd22ba3c663ff6ba80
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 af74daf..39e4320 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
@@ -26,7 +26,7 @@ for (FieldDef<?, ?> field : schema.getFields().values()) { String name = field.getName(); FieldType<?> fieldType = field.getType(); - if (fieldType == FieldType.EXACT) { + if (fieldType == FieldType.EXACT || fieldType == FieldType.KEYWORD) { mapping.addExactField(name); } else if (fieldType == FieldType.TIMESTAMP) { mapping.addTimestamp(name);
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 5281ebe..13e29e4 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 @@ return intRangeQuery(p); } else if (type == FieldType.TIMESTAMP) { return timestampQuery(p); - } else if (type == FieldType.EXACT) { + } else if (type == FieldType.EXACT || type == FieldType.KEYWORD) { return exactQuery(p); } else if (type == FieldType.PREFIX) { return QueryBuilders.matchPhrasePrefixQuery(name, value);