目前天翼云提供的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)是否按期執行。