# 重新加载/强制合并

## Flush 重新加载

重新加载API允许显式刷新一个或多个索引，让自上次重新加载后执行的操作可以用于搜索。（近）实时能力取决于使用的索引引擎。例如，一个内部请求调用重新加载，但是默认情况下回周期性地调度重新加载。

```
POST /twitter/_refresh
```

### 多个索引

重新加载API可以通过单个调用应用于多个索引，甚至可以应用在`_all`索引上。

```
POST /kimchy,elasticsearch/_refresh

POST /_refresh
```

## Force Merge 强制合并

强制合并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
```
