Open/Close Index API

开放和关闭索引API允许关闭索引,然后打开它。

封闭索引被阻止进行读/写操作,并且不允许打开索引的所有操作都允许。无法索引文档或在封闭索引中搜索文档。这允许封闭索引不必维护用于索引或搜索文档的内部数据结构,从而导致集群上的较小开销。

打开或关闭索引时,主服务器负责重新启动索引分片以反映索引的新状态。然后,分片将经历正常的恢复过程。群集会自动复制打开/关闭索引的数据,以确保始终安全地保留足够的碎片副本。

REST端点是/ {index} / close和/ {index} / open。

以下示例显示如何关闭索引:

  1. POST /my_index/_close?wait_for_active_shards=1

这将返回以下响应:

  1. {
  2. "acknowledged" : true,
  3. "shards_acknowledged" : true
  4. }

这将产生以下响应:

  1. {
  2. "acknowledged" : true,
  3. "shards_acknowledged" : true
  4. }

可以打开和关闭多个索引。如果请求显式引用缺少的索引,则会引发错误。可以使用ignore_unavailable = true参数禁用此行为。

使用_all作为索引名称或指定标识所有索引的模式(例如*),可以立即打开或关闭所有索引。

通过将配置文件中的action.destructive_requires_name标志设置为true,可以禁用通过通配符或_all标识索引。也可以通过群集更新设置api更改此设置。

封闭索引占用大量磁盘空间,这可能会导致托管环境出现问题。通过将cluster.indices.close.enable设置为false,可以通过群集设置API禁用关闭索引。默认值为true。

Wait For Active Shards

因为打开或关闭索引会分配其分片,所以索引创建的wait_for_active_shards设置也适用于_open和_close索引操作。