可搜索快照编辑

允许的阶段:热、冷、冻结。

在配置的存储库中创建托管索引的快照,并将其作为可搜索快照挂载。如果索引是数据流的一部分,则挂载的索引将替换流中的原始索引。

searchable_snapshot 操作需要数据层。该操作使用index.routing.allocation.include._tier_preference 设置将索引直接挂载到阶段对应的数 据层。在冻结阶段,该操作会将以 partial- 为前缀的部分挂载索引挂载到冻结层。在其他阶段,该操作会将以 restored- 为前缀的完全挂载索引挂载到对应的数 据层。

在冻结层中,如果原始索引中存在设置 index.routing.allocation.total_shards_per_node,则该操作将忽略该设置,以考虑到冻结层和其他层之间节点数量的差异。

不要在热阶段和冷阶段都包含 searchable_snapshot 操作。这可能会导致索引在冷阶段无法自动迁移到冷层。

如果在热阶段使用 searchable_snapshot 操作,则后续阶段不能包含 shrinkforcemerge 操作。

此操作无法在数据流的写入索引上执行。尝试这样做将会失败。要将索引转换为可搜索快照,请先手动滚动数据流。这将创建一个新的写入索引。由于该索引不再是流的写入索引,因此该操作可以将其转换为可搜索快照。使用在热阶段利用滚动操作的策略将避免这种情况,并且将来管理的索引不需要手动滚动。

挂载和重新定位可搜索快照索引的分片涉及从快照存储库复制分片内容。这可能会产生与常规索引在节点之间复制不同的成本。这些成本通常较低,但在某些环境中可能会更高。有关更多详细信息,请参阅使用可搜索快照降低成本

默认情况下,此快照在删除阶段由删除操作删除。要保留快照,请在删除操作中将 delete_searchable_snapshot 设置为 false。此快照保留独立于索引生命周期管理 (ILM) 策略运行,并且不受快照生命周期管理 (SLM) 策略的影响。

选项编辑

snapshot_repository
(必填,字符串)用于存储快照的存储库
force_merge_index
(可选,布尔值)强制将托管索引合并到一个段。默认为 true。如果已使用先前操作中的强制合并操作强制合并了托管索引,则 searchable snapshot 操作的强制合并步骤将无效。

forcemerge 期间正在重新定位的分片将不会被合并。searchable_snapshot 操作将继续执行,即使并非所有分片都被强制合并。

此强制合并发生在索引处于 searchable_snapshot 操作之前的阶段。例如,如果在 hot 阶段使用 searchable_snapshot 操作,则强制合并将在热节点上执行。如果在 cold 阶段使用 searchable_snapshot 操作,则强制合并将在索引处于 cold 阶段之前的任何层(hotwarm)上执行。

示例编辑

PUT _ilm/policy/my_policy
{
  "policy": {
    "phases": {
      "cold": {
        "actions": {
          "searchable_snapshot" : {
            "snapshot_repository" : "backing_repo"
          }
        }
      }
    }
  }
}