You need to enable JavaScript to run this app.
导航
写入自适应优化
最近更新时间:2025.03.04 14:43:07首次发布时间:2025.03.04 14:19:02

云搜索服务提供了写入自适应优化功能,在非主键更新写入场景(例如日志写入)下开启写入自适应优化后,bulk 写入过程中会自动选择性能更好的分片,实现写入性能的提升。

背景信息

您可以通过指定配置项 index.shard_routing.enabledindices.bulk.adaptive_shard_selection.enabled 来开启写入自适应优化功能,开启后可以将批量写请求自动路由到性能更好的分片上,从而提升整体写入性能。其中:

  • index.shard_routing.enabled:是否开启 bulk 定向路由,默认值为 false,表示使用默认路由规则,即默认采用 _id 作为单个文档的写入 routing。设置为 true 时,表示开启 bulk 定向路由,可以避免写入长尾效应。更多信息,请参见 Bulk 定向路由
  • indices.bulk.adaptive_shard_selection.enabled:是否开启自适应写入优化,默认值 false,表示不开启。设置为 true 时,表示开启自适应写入优化,bulk 写入过程中会自动选择性能更好的分片。

功能限制

  • 目前仅如下 ES 或 OpenSearch 实例才支持开启写入自适应优化功能:
    • 2024 年 05 月之后创建的 ES 7.10.2 版本实例。
    • 2024 年 03 月 04 号之后创建的 OpenSearch 2.9.0 版本实例。
  • 仅当写入的数据不带主键,且同时开启索引配置项 index.shard_routing.enabled 和集群参数 indices.bulk.adaptive_shard_selection.enabled 时,写入自适应优化功能才会生效。
  • 开启写入自适应优化功能后,无法直接根据 _id 获取文档信息。
  • 开启写入自适应优化功能后,不支持 deletebyqueryupdatebyquery 功能。

开启写入自适应优化

  1. 为目标索引开启 bulk 定向路由。具体操作步骤,请参见 Bulk 定向路由
  2. 使用如下命令在集群层面开启写入自适应优化。
    PUT _cluster/settings
    {
        "persistent": {
            "indices.bulk.adaptive_shard_selection.enabled":"true"
        }
    }
    

常见问题

  1. 开启写入自适应优化后,为何无法直接根据 _id 获取文档信息?
    开启写入自适应优化后,bulk 写入过程中会自动选择性能更好的分片,_id 和分片间不再有固定映射关系。此时根据 _id 获取文档必须携带正确的 routing 才能获取单条原始的文档信息,routing 可以通过普通 query 查询获取。
  2. 为什么开启写入自适应优化功能失败?
    仅满足特定要求的实例才支持开启写入自适应优化功能,具体要求请参见功能限制
    若您在使用过程中遇到其它问题,请提交工单联系技术支持解决。如何提交工单,请参见技术支持