1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- [[indices-forcemerge]]
- === Force Merge
- The force merge API allows to force merging of one or more indices through an
- API. The merge relates to the number of segments a Lucene index holds within
- each shard. The force merge operation allows to reduce the number of segments by
- merging them.
- This call will block until the merge is complete. If the http connection is
- lost, the request will continue in the background, and any new requests will
- block until the previous force merge is complete.
- WARNING: Force merge should only be called against *read-only indices*. Running
- force merge against a read-write index can cause very large segments to be produced
- (>5Gb per segment), and the merge policy will never consider it for merging again until
- it mostly consists of deleted docs. This can cause very large segments to remain in the shards.
- [source,js]
- --------------------------------------------------
- POST /twitter/_forcemerge
- --------------------------------------------------
- // CONSOLE
- // TEST[setup:twitter]
- [float]
- [[forcemerge-parameters]]
- ==== Request Parameters
- The force merge API accepts the following request parameters:
- [horizontal]
- `max_num_segments`:: The number of segments to merge to. To fully
- merge the index, set it to `1`. Defaults to simply checking if a
- merge needs to execute, and if so, executes it.
- `only_expunge_deletes`:: Should the merge process only expunge segments with
- deletes in it. In Lucene, a document is not deleted from a segment, just marked
- as deleted. During a merge process of segments, a new segment is created that
- does not have those deletes. This flag allows to only merge segments that have
- deletes. Defaults to `false`. Note that this won't override the
- `index.merge.policy.expunge_deletes_allowed` threshold.
- `flush`:: Should a flush be performed after the forced merge. Defaults to
- `true`.
- [source,js]
- --------------------------------------------------
- POST /kimchy/_forcemerge?only_expunge_deletes=false&max_num_segments=100&flush=true
- --------------------------------------------------
- // CONSOLE
- // TEST[s/^/PUT kimchy\n/]
- [float]
- [[forcemerge-multi-index]]
- ==== Multi Index
- The force merge API can be applied to more than one index with a single call, or
- even on `_all` the indices. Multi index operations are executed one shard at a
- time per node. Force merge makes the storage for the shard being merged
- temporarily increase, up to double its size in case `max_num_segments` is set
- to `1`, as all segments need to be rewritten into a new one.
- [source,js]
- --------------------------------------------------
- POST /kimchy,elasticsearch/_forcemerge
- POST /_forcemerge
- --------------------------------------------------
- // CONSOLE
- // TEST[s/^/PUT kimchy\nPUT elasticsearch\n/]
|