# 强制合并

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html)

译文链接 : [强制合并](/pages/viewpage.action?pageId=4260947)

贡献者 : [飞师傅](/display/~zhangyifei)

强制合并API允许通过API强制合并一个或多个索引。合并依赖于Lucene索引在每个分片中保存的分段数。强制合并操作允许通过合并分段来减少他们的数量。

此调用会阻塞，直到合并完成。如果http连接丢失，请求将在后台继续，并且任何新的请求都会阻塞，直到前面的强制合并完成。

```
POST /twitter/_forcemerge
```

###### 请求参数

强制合并API接受以下请求参数：

| 字段 | 描述 |
| --- | --- |
| max_num_segments | 要合并的分段数量。要完全合并索引需要设置为1.默认为简单地检查合并是否需要执行，如果需要，则执行。 |
| only_expunge_deletes | 合并过程中是否只清除其中被删除的分段。在Lucene中，一个文档不会从分段中删除，只是标记为已删除。在这个分段的合并过程中，会创建没有那些删除文档的新分段。此标志仅允许合并已删除的段，默认为false。请注意，这不会覆盖 `index.merge.policy.expunge_deletes_allowed`的阀值。 |
| flush | 是否在强制合并后执行flush。默认为true。 |

###### 多索引

强制合并API可以通过单个调用应用于多个索引上，甚至可以应用在`_all`索引上。

```
POST /kimchy,elasticsearch/_forcemerge

POST /_forcemerge
```