目前天翼云提供的OpenSearch版本是2.19.1,OpenSearch是在Elasticsearch闭源后,开源社区基于Elasticsearch7.10.2版本,并在此基础上扩展的开源搜索引擎。如果原来是使用的Elasticsearch,需要在以下事项上注意行为的变化。
版本与兼容性
项目 | Elasticsearch | OpenSearch |
---|---|---|
核心版本 | 6.x/7.x/8.x | 基于Elasticsearch7.10.2 |
类型支持 | 7.x后期移除多类型索引 | 保留单一类型 |
映射结构 | 支持runtime fields(≥7.11) | 默认不支持 |
向量检索 | dense_vector | 使用knn_vector,依赖 knn 插件 |
注意事项
OpenSearch 2.19.1源自Elasticsearch 7.10.2,因此:
不兼容 ES 7.11+的某些新特性(如runtime_fields, data_streams,EQL, searchable_snapshots)。
如果之前用了Elasticsearch 8.x的新功能,需要回退或改写部分功能,或先尝试迁移至Elasticsearch7.10.2,如无兼容问题,再迁移至OpenSearch 2.19.1。
自定义脚本、查询DSL语法、pipeline的兼容性需手动核查。
插件与扩展能力差异
ElasticsearchX-Pack的所有功能均为闭源,OpenSearch基于Elasticsearch 7.10.2开源版本开发,不含X-Pack,但提供了类似的开源替代功能,两者在使用上可能存在差异。
此外,需注意原集群是否使用了第三方插件,并确认天翼云OpenSearch是否默认支持该插件及其版本兼容性。以下是对一些常见差异的总结:
能力/插件 | Elasticsearch (X-Pack/商业版) | OpenSearch 2.19.1 |
---|---|---|
安全认证 | X-Pack | 内置Security插件 |
机器学习 | ML模块 | OpenSearch ML 插件(能力不等同) |
向量检索 | dense_vector + ANN | knn插件,支持faiss/lucene |
异常检测 | X-Pack功能 | Anomaly Detection插件 |
监控仪表盘 | Stack Monitoring | OpenSearch Dashboards + monitoring插件 |
SQL支持 | X-Pack SQL | OpenSearch SQL插件 |
Alerting | Watcher | OpenSearch Alerting插件 |
生命周期管理 | ILM | 支持ISM(IndexState Management) |
可视化 | Kibana | OpenSearchDashboards(界面不同) |
注意事项
客户原有 X-Pack 相关功能(如 Watcher、ML、RBAC、License 校验等)需替换为OpenSearch插件或重写业务逻辑。
Kibana的仪表盘、图表迁移需适配OpenSearch Dashboards(部分图表可能不兼容)。
是否安装第三方插件,以及插件的不同版本功能使用上是否存在差异。
API兼容性与客户端适配
SDK需要使用OpenSearch官方提供的SDK。不过OpenSearch也兼容Elasticsearch的Java High-Level Rest Client,只需要修改少量的代码(具体可以参考《Elasticsearch与OpenSearch的Java Client代码差异》章节)。
注意事项
建议更换为OpenSearch官方SDK。
如用Elasticsearch 8.x SDK,需回退使用兼容 Elasticsearch 7.10 的版本(否则会因header校验失败)。
安全配置差异
安全能力 | Elasticsearch(X-Pack) | OpenSearch2.19.1 |
---|---|---|
用户认证 | 基于License的角色控制 | 内置OpenSearch Security插件 |
多租户隔离 | X-Pack支持Spaces | OpenSearchDashboards 支持 Multi-tenancy |
注意事项
需重新配置:
用户角色映射 (roles.yml, tenants.yml);
Dashboards多租户视图;
API Token/LDAP/SAML集成方式。
访问控制策略语法和行为有区别,尤其是field-level和document-level安全控制。
迁移与数据恢复
常见迁移方式包括
使用快照迁移
优点:简洁、可靠;可保留索引、映射、分片结构和设置。
适用场景:客户使用的ES 版本 ≤ 7.10.2,数据量较大,迁移时可接受短暂停机或只读窗口。
限制/注意事项:ES 8.x 快照不可恢复至 OpenSearch。
使用Logstash迁移
优点:支持数据加工/转换,迁移时可进行字段清洗、格式转换。
适用场景:想要“边迁移边清洗”,或者只迁移部分数据字段;或ES源版本较新(7.11+)
限制/注意事项:需部署Logstash,性能较低,不保留原mapping设置;需要重建索引结构。
Reindex from Remote
优点:操作简单、无需额外工具,实时迁移部分数据或索引。
适用场景:只需迁移部分索引、文档数量不大、源ES支持reindex_remote。
限制/注意事项:源和目标集群需网络可通;不能迁移mapping和setting,需手动创建索引结构;不支持向量数据迁移。
逐节点原地迁移(In-Place Rolling Upgrade)
优点:无需拷贝数据,保留分片布局、设置、集群UUID,最完整地保留原集群状态。
适用场景:客户源ES为OSS版本且版本号≤7.10.2,不想重建集群或数据迁移成本较高。
限制/注意事项:源集群和目标集群必须是兼容版本(≤7.10.2);需停掉每个节点依次切换为OpenSearch,较复杂;不支持ES 8.x。
额外限制:目前天翼云云搜索服务为全托管服务,不支持自助逐节点原地迁移。客户可以通过这种方式将数据先迁移到天翼云云主机,然后再逐步迁移到天翼云云搜索服务。
其他注意事项
对于向量索引,若使用dense_vector,需转换为knn_vector并重建索引。
具体的迁移操作方法,可参考具体介绍的官网文档或提交工单由工程师协助。
迁移后客户需重点测试的内容:
所有索引的 mapping 是否按预期恢复;
关键功能(索引写入、全文检索、聚合)是否正常;
DSL 查询/聚合/脚本/管道是否兼容;
Dashboards 中仪表盘与可视化图表是否渲染正确;
索引生命周期策略(ISM)是否按期执行。