diff options
author | David Pursehouse <dpursehouse@collab.net> | 2020-03-18 08:57:18 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-03-18 08:57:18 +0000 |
commit | 5f73fd6555f59c1ae046ca3195c63e0a73521261 (patch) | |
tree | fd8ee6dd78d2a8cc7b0fe23358b77a2e7d3d43c3 | |
parent | ae8babd7f5fbf54c82fb79289df0166d1ec3a7f3 (diff) | |
parent | 76fed530a0fdc114ecfde3fec003d360e7ace671 (diff) |
Merge "Support 'max_result_window' config for Elasticsearch indexes" into stable-2.16
-rw-r--r-- | Documentation/config-gerrit.txt | 8 | ||||
-rw-r--r-- | java/com/google/gerrit/elasticsearch/ElasticConfiguration.java | 6 | ||||
-rw-r--r-- | java/com/google/gerrit/elasticsearch/ElasticSetting.java | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt index 250ffdd8fb..86375670e6 100644 --- a/Documentation/config-gerrit.txt +++ b/Documentation/config-gerrit.txt @@ -3188,6 +3188,14 @@ Elasticsearch documentation] for details. + Defaults to 1. +[[elasticsearch.maxResultWindow]]elasticsearch.maxResultWindow:: ++ +Sets the maximum value of `from + size` for searches to use per index. Refer to the +link:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#dynamic-index-settings[ +Elasticsearch documentation] for details. ++ +Defaults to 10000. + ==== Elasticsearch Security When security is enabled in Elasticsearch, the username and password must be provided. diff --git a/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java b/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java index cbe9bc73d0..35c33cb9b4 100644 --- a/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java +++ b/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java @@ -40,10 +40,13 @@ class ElasticConfiguration { static final String KEY_SERVER = "server"; static final String KEY_NUMBER_OF_SHARDS = "numberOfShards"; static final String KEY_NUMBER_OF_REPLICAS = "numberOfReplicas"; + static final String KEY_MAX_RESULT_WINDOW = "maxResultWindow"; + static final String DEFAULT_PORT = "9200"; static final String DEFAULT_USERNAME = "elastic"; static final int DEFAULT_NUMBER_OF_SHARDS = 0; static final int DEFAULT_NUMBER_OF_REPLICAS = 1; + static final int DEFAULT_MAX_RESULT_WINDOW = 10000; private final Config cfg; private final List<HttpHost> hosts; @@ -52,6 +55,7 @@ class ElasticConfiguration { final String password; final int numberOfShards; final int numberOfReplicas; + final int maxResultWindow; final String prefix; @Inject @@ -68,6 +72,8 @@ class ElasticConfiguration { cfg.getInt(SECTION_ELASTICSEARCH, null, KEY_NUMBER_OF_SHARDS, DEFAULT_NUMBER_OF_SHARDS); this.numberOfReplicas = cfg.getInt(SECTION_ELASTICSEARCH, null, KEY_NUMBER_OF_REPLICAS, DEFAULT_NUMBER_OF_REPLICAS); + this.maxResultWindow = + cfg.getInt(SECTION_ELASTICSEARCH, null, KEY_MAX_RESULT_WINDOW, DEFAULT_MAX_RESULT_WINDOW); this.hosts = new ArrayList<>(); for (String server : cfg.getStringList(SECTION_ELASTICSEARCH, null, KEY_SERVER)) { try { diff --git a/java/com/google/gerrit/elasticsearch/ElasticSetting.java b/java/com/google/gerrit/elasticsearch/ElasticSetting.java index 14e462342d..e016efb94e 100644 --- a/java/com/google/gerrit/elasticsearch/ElasticSetting.java +++ b/java/com/google/gerrit/elasticsearch/ElasticSetting.java @@ -35,6 +35,7 @@ class ElasticSetting { properties.analysis = fields.build(); properties.numberOfShards = config.getNumberOfShards(adapter); properties.numberOfReplicas = config.numberOfReplicas; + properties.maxResultWindow = config.maxResultWindow; return properties; } @@ -75,6 +76,7 @@ class ElasticSetting { Map<String, FieldProperties> analysis; Integer numberOfShards; Integer numberOfReplicas; + Integer maxResultWindow; } static class FieldProperties { |