Elasticsearch V6: Add include_type_name to index requests
Before this change, there were warnings in Eclipse about the lack of
explicitly specifying that parameter in such get-indices HEAD requests.
Bug: Issue 10884
Change-Id: I02fb4b445e91ee6f3c9aa3f6a7a4b8e2327e8967
diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java
index 2e30e59..08a8763 100644
--- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java
+++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java
@@ -149,7 +149,7 @@
@Override
public void deleteAll() throws IOException {
// Delete the index, if it exists.
- String endpoint = indexName + client.adapter().indicesExistParam();
+ String endpoint = indexName + client.adapter().indicesExistParams();
Response response = performRequest("HEAD", endpoint);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
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 329913b..026f09a 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
@@ -19,13 +19,16 @@
public class ElasticQueryAdapter {
static final String V6_TYPE = "_doc";
+ private static final String INCLUDE_TYPE = "include_type_name=true";
+ private static final String INDICES = "?allow_no_indices=false";
+
private final boolean ignoreUnmapped;
private final boolean useV5Type;
private final boolean useV6Type;
private final boolean omitType;
private final String searchFilteringName;
- private final String indicesExistParam;
+ private final String indicesExistParams;
private final String exactFieldType;
private final String stringFieldType;
private final String indexProperty;
@@ -39,11 +42,11 @@
this.omitType = version.isV7OrLater();
this.versionDiscoveryUrl = version.isV6OrLater() ? "/%s*" : "/%s*/_aliases";
this.searchFilteringName = "_source";
- this.indicesExistParam = "?allow_no_indices=false";
+ this.indicesExistParams = version.isV6() ? INDICES + "&" + INCLUDE_TYPE : INDICES;
this.exactFieldType = "keyword";
this.stringFieldType = "text";
this.indexProperty = "true";
- this.includeTypeNameParam = version.isV6() ? "?include_type_name=true" : "";
+ this.includeTypeNameParam = version.isV6() ? "?" + INCLUDE_TYPE : "";
}
void setIgnoreUnmapped(JsonObject properties) {
@@ -62,8 +65,8 @@
return searchFilteringName;
}
- String indicesExistParam() {
- return indicesExistParam;
+ String indicesExistParams() {
+ return indicesExistParams;
}
String exactFieldType() {