123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- [[indices-update-settings]]
- == Update Indices Settings
- Change specific index level settings in real time.
- The REST endpoint is `/_settings` (to update all indices) or
- `{index}/_settings` to update one (or more) indices settings. The body
- of the request includes the updated settings, for example:
- [source,js]
- --------------------------------------------------
- {
- "index" : {
- "number_of_replicas" : 4
- } }
- --------------------------------------------------
- The above will change the number of replicas to 4 from the current
- number of replicas. Here is a curl example:
- [source,js]
- --------------------------------------------------
- curl -XPUT 'localhost:9200/my_index/_settings' -d '
- {
- "index" : {
- "number_of_replicas" : 4
- } }
- '
- --------------------------------------------------
- Below is the list of settings that can be changed using the update
- settings API:
- `index.number_of_replicas`::
- The number of replicas each shard has.
- `index.auto_expand_replicas`::
- Set to an actual value (like `0-all`) or `false` to disable it.
- `index.blocks.read_only`::
- Set to `true` to have the index read only, `false` to allow writes
- and metadata changes.
- `index.blocks.read`::
- Set to `true` to disable read operations againstthe index.
- `index.blocks.write`::
- Set to `true` to disable write operations against the index.
- `index.blocks.metadata`::
- Set to `true` to disable metadata operations against the index.
- `index.refresh_interval`::
- The async refresh interval of a shard.
- `index.index_concurrency`::
- Defaults to `8`.
- `index.codec`::
- Codec. Default to `default`.
- `index.codec.bloom.load`::
- Whether to load the bloom filter. Defaults to `true`.
- See <<bloom-postings>>.
- `index.fail_on_merge_failure`::
- Default to `true`.
- `index.translog.flush_threshold_ops`::
- When to flush based on operations.
- `index.translog.flush_threshold_size`::
- When to flush based on translog (bytes) size.
- `index.translog.flush_threshold_period`::
- When to flush based on a period of not flushing.
- `index.translog.disable_flush`::
- Disables flushing. Note, should be set for a short
- interval and then enabled.
- `index.cache.filter.max_size`::
- The maximum size of filter cache (per segment in shard).
- Set to `-1` to disable.
- `index.cache.filter.expire`::
- The expire after access time for filter cache.
- Set to `-1` to disable.
- `index.gateway.snapshot_interval`::
- The gateway snapshot interval (only applies to shared gateways).
- Defaults to 10s.
- <<index-modules-merge,merge policy>>::
- All the settings for the merge policy currently configured.
- A different merge policy can't be set.
- `index.routing.allocation.include.*`::
- A node matching any rule will be allowed to host shards from the index.
- `index.routing.allocation.exclude.*`::
- A node matching any rule will NOT be allowed to host shards from the index.
- `index.routing.allocation.require.*`::
- Only nodes matching all rules will be allowed to host shards from the index.
- `index.routing.allocation.disable_allocation`::
- Disable allocation. Defaults to `false`. Deprecated in favour for `index.routing.allocation.enable`.
- `index.routing.allocation.disable_new_allocation`::
- Disable new allocation. Defaults to `false`. Deprecated in favour for `index.routing.allocation.enable`.
- `index.routing.allocation.disable_replica_allocation`::
- Disable replica allocation. Defaults to `false`. Deprecated in favour for `index.routing.allocation.enable`.
- added[1.0.0.RC1]
- `index.routing.allocation.enable`::
- Enables shard allocation for a specific index. It can be set to:
- * `all` (default) - Allows shard allocation for all shards.
- * `primaries` - Allows shard allocation only for primary shards.
- * `new_primaries` - Allows shard allocation only for primary shards for new indices.
- * `none` - No shard allocation is allowed.
- `index.routing.allocation.total_shards_per_node`::
- Controls the total number of shards allowed to be allocated on a single node. Defaults to unbounded (`-1`).
- `index.recovery.initial_shards`::
- When using local gateway a particular shard is recovered only if there can be allocated quorum shards in the cluster. It can be set to:
- * `quorum` (default)
- * `quorum-1` (or `half`)
- * `full`
- * `full-1`.
- * Number values are also supported, e.g. `1`.
- `index.gc_deletes`::
- `index.ttl.disable_purge`::
- Disables temporarily the purge of expired docs.
- <<index-modules-store,store level throttling>>::
- All the settings for the store level throttling policy currently configured.
- `index.translog.fs.type`::
- Either `simple` or `buffered` (default).
- `index.compound_format`::
- See <<index-compound-format,`index.compound_format`>> in
- <<index-modules-settings>>.
- `index.compound_on_flush`::
- See <<index-compound-on-flush,`index.compound_on_flush>> in
- <<index-modules-settings>>.
- <<index-modules-slowlog>>::
- All the settings for slow log.
- `index.warmer.enabled`::
- See <<indices-warmers>>. Defaults to `true`.
- [float]
- [[bulk]]
- === Bulk Indexing Usage
- For example, the update settings API can be used to dynamically change
- the index from being more performant for bulk indexing, and then move it
- to more real time indexing state. Before the bulk indexing is started,
- use:
- [source,js]
- --------------------------------------------------
- curl -XPUT localhost:9200/test/_settings -d '{
- "index" : {
- "refresh_interval" : "-1"
- } }'
- --------------------------------------------------
- (Another optimization option is to start the index without any replicas,
- and only later adding them, but that really depends on the use case).
- Then, once bulk indexing is done, the settings can be updated (back to
- the defaults for example):
- [source,js]
- --------------------------------------------------
- curl -XPUT localhost:9200/test/_settings -d '{
- "index" : {
- "refresh_interval" : "1s"
- } }'
- --------------------------------------------------
- And, an optimize should be called:
- [source,js]
- --------------------------------------------------
- curl -XPOST 'http://localhost:9200/test/_optimize?max_num_segments=5'
- --------------------------------------------------
- [float]
- [[update-settings-analysis]]
- === Updating Index Analysis
- It is also possible to define new <<analysis,analyzers>> for the index.
- But it is required to <<indices-open-close,close>> the index
- first and <<indices-open-close,open>> it after the changes are made.
- For example if `content` analyzer hasn't been defined on `myindex` yet
- you can use the following commands to add it:
- [source,js]
- --------------------------------------------------
- curl -XPOST 'localhost:9200/myindex/_close'
- curl -XPUT 'localhost:9200/myindex/_settings' -d '{
- "analysis" : {
- "analyzer":{
- "content":{
- "type":"custom",
- "tokenizer":"whitespace"
- }
- }
- }
- }'
- curl -XPOST 'localhost:9200/myindex/_open'
- --------------------------------------------------
|