- 文档首页
云搜索服务
最佳实践
可搜索快照
通过 ISM 生成可搜索快照
通过 ISM 生成可搜索快照
云搜索服务支持可搜索快照功能,该功能基于快照构建可搜索快照只读索引。本文介绍通过 ISM 生成可搜索快照的操作步骤。
ISM(Index State Management )是用于索引生命周期的自动化管理插件,ISM 插件允许根据预定义的策略自动执行各种操作,以优化索引的性能、存储效率和数据管理。
在可搜索快照的场景中,可以帮助我们将不常用的索引自动转化成可搜索快照,优化集群的存储效率,避免频繁的手动创建快照操作。
- 在体验可搜索快照前,需要先确保实例中已经启用冷数据节点。Elasticsearch 6.7.1 和 6.8.23 版本实例不支持冷数据节点,因此也不支持可搜索快照功能。Elasticsearch 7.10.2 版本和 OpenSearch 2.9.0 版本实例都支持可搜索快照。
- 您可以选择新建实例,在创建实例时启用冷数据节点,具体操作,请参见创建实例。
- 如果您已有实例,但未启用冷数据节点,可以通过升配的方式启用冷数据节点。具体操作,请参见升配实例。
- ISM 策略只能针对未创建的索引自动关联生效。当新建的索引匹配到 ISM 策略中的索引名称表达式,索引和 ISM 策略将自动关联。
- 在左侧导航栏选择 Management > Dev Tools。
- 创建一个名为 doc-repo 的快照存储库。在实际使用中,您可以自定义设置存储库名称。
- bucket:直接使用系统默认存储桶。系统默认桶在您的 TOS 产品页面中不可见,您可以在云搜索服务的快照管理页面,将鼠标移动到桶名称上即可查看默认存储桶的名称。
- endpoint:TOS 存储桶的 S3 Endpoint 地址。直接使用私网地址,地域与云搜索服务实例相同。
- region:TOS 存储桶所属地域,与云搜索服务实例在相同地域。
- searchable:使用系统自建的 TOS 存储桶来创建快照存储库时,必须将该参数设置为 true。使用其他 TOS 存储桶时,则无需配置该参数。
-
- 此处创建一个 id 为 searchable_snapshot_policy 的 ISM 策略,该策略将匹配 nginxlogs-* 格式的索引分为 Hot、Cold、Delete 三个阶段:
- 索引的初始状态为 Hot,当索引中的文档数量超过 20 时,会自动进行 rollover 动作,将生成一个新索引并进入 Cold 阶段。
- 在 Cold 阶段的索引会自动创建可搜索快照。索引在创建 5 天后会自动进入 Delete 阶段。在 Cold 阶段,会删除原索引并创建一个可搜索快照只读索引。
- 假设原索引为 nginxlogs-000001,那么新生成的索引为 nginxlogs-000002,生成的可搜索快照只读索引为 remote-nginxlogs-000001。
- 进入 Delete 阶段后,会删除可搜索快照只读索引,以及创建的快照数据。
说明
OpenSearch 2.9.0 版本实例和 Elasticsearch 7.10.2 版本实例在创建 ISM 策略时的命令不同,请注意区分。
OpenSearch 2.9.0 版本实例
Elasticsearch 7.10.2 版本实例
- 创建一个名为 nginxlogs_template 的索引模板。在实际使用中,您可以自定义设置索引模板名称。
说明
以下命令在创建索引模板的同时,为所有匹配到表达式的索引,都添加一个共同的索引别名。OpenSearch 2.9.0 版本实例和 Elasticsearch 7.10.2 版本实例在绑定别名时的命令不同,请注意区分。
OpenSearch 2.9.0 版本实例
Elasticsearch 7.10.2 版本实例
- 反复执行以下命令,可以向索引中写入多篇文档数据。为了触发本文中设置的 ISM 策略 rollover 动作,至少需要写入超过 20 篇文档。
- 查看索引数据分布情况,判断是否生成可搜索快照索引。
-
- 新建的索引名称和 ISM 策略中的索引表达式匹配后,将自动关联。经过较长一段时间后,您可执行上述命令查看是否生成了可搜索快照索引,默认以 remote- 开头。
说明
从查询结果中,您可了解到以下重要信息:
- 可搜索快照索引以 remote- 开头,存储在冷数据节点。
- 系统自动生成一个新索引 nginxlogs-000002,再过一段时间将会删除原索引 nginxlogs-000001。
- 如果索引列表中没有 remote- 开头的可搜索快照索引,一般是由于正处于 ISM 策略执行过程,还未生成可搜索快照索引。ISM 策略执行一般耗时比较久,您可以通过命令查看策略执行进度,具体请参见 1.如何查看 ISM 策略执行进度?
- 检索可搜索快照索引时,请替换为正确的索引名称。在本文中,可以查询 remote-nginxlogs-000001,也可以查询 remote-nginxlogs*。
- 在 Dev Tools 页面,执行 GET _opendistro/_ism/explain/<index-name> 命令,即可查看 ISM 策略执行进度。
-
- 在 Dev Tools 页面,执行 GET /<index-name>/_settings?pretty 命令,查看索引配置。如果索引的存储类型显示为 remote_snapshot,则表示该索引是可搜索快照索引。
-
- 在 Dev Tools 页面,执行以下命令,关联历史索引和目标 ISM 策略。
-
- Elasticsearch 7.10.2 版本实例:
最近更新时间:2026.10.23 11:42:32