📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入
Elasticsearch 6/7/8 到 Easysearch 2.x 迁移指南

最近在协助客户进行 Elasticsearch 到 Easysearch 的迁移时,发现大家最关心的问题是"当前版本能否直接使用快照迁移"。这个问题看似简单,但不同版本的答案差异较大。本文将基于实际测试经验,梳理各版本的迁移路径和注意事项。

迁移路径速览 #

根据源 ES 版本,可以直接对照下表选择迁移方案:

源 ES 版本能否直接快照恢复推荐方案实施复杂度
ES 6.xINFINI Gateway 迁移 或 ES 7.10.x 中转较低
ES 7.0 - 7.11直接快照恢复较低
ES 7.12 - 7.17INFINI Gateway 迁移较低
ES 8.xINFINI Gateway 迁移较低

结论:ES 7.0-7.11 是迁移最顺畅的版本窗口,可直接快照恢复;其他版本也有成熟的迁移方案,只是路径不同。


版本差异的原因 #

迁移路径的差异主要源于两方面:Lucene 版本兼容性和快照元数据格式变化。

Lucene 兼容性:Easysearch 2.x 底层要求的最低 Lucene 版本对应 ES 7.0.0。ES 6.x 的索引文件使用老版本 Lucene,直接恢复会报错:

The index was created with version [6.8.23] but the minimum compatible version is [7.0.0].

快照元数据格式:ES 7.12 开始在快照中引入 uuidcluster_id 字段,7.14 增加 writer_uuid,8.x 又引入 transport_version。这些字段与 Easysearch 2.x 的快照解析器不兼容。

因此,ES 7.0-7.11 成为迁移的"黄金窗口"——既满足 Lucene 兼容性要求,快照格式又足够简洁。


ES 7.0-7.11:直接快照恢复 #

这是测试最充分的迁移路径,已验证版本包括 ES 7.0.1、7.8.1、7.10.2 OSS、7.11.2。

已验证能力:

  • 单索引 / 多索引 / 通配符批量恢复
  • 常见字段类型与别名
  • 自定义 settings、多分片索引
  • ILM 托管索引、数据流后备索引、冻结索引

操作步骤:

# 1. 源 ES 创建快照
PUT /_snapshot/my_backup/snapshot_1
{
  "indices": "索引列表",
  "include_global_state": false
}

# 2. Easysearch 注册同一快照仓库
PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/path/to/snapshot/repo",
    "readonly": true
  }
}

# 3. 恢复快照
POST /_snapshot/my_backup/snapshot_1/_restore
{
  "indices": "索引列表",
  "include_global_state": false
}

ES 6.x:Gateway 迁移或中转方案 #

ES 6.x 无法直接快照恢复到 Easysearch 2.x,有两种迁移方案可选:

方案一:INFINI Gateway 迁移(推荐)

直接使用 Gateway 从 ES 6.x 迁移数据到 Easysearch,无需中转集群。Gateway 已验证支持 ES 6.8.x 的数据迁移。

方案二:ES 7.10.x 中转

ES 6.8 -> 快照 -> ES 7.10.x -> 快照 -> Easysearch 2.x

ES 7.10.x 可以正常恢复 ES 6.x 的快照,恢复完成后再创建快照供 Easysearch 使用。该方案数据完整性有保障,但需要额外的中转存储和迁移窗口。

ES 6.x 特有字段:ES 6.x 的 string 类型在 Easysearch 中需映射为 textkeyword(根据实际使用场景选择)。


ES 7.12+ 和 8.x:INFINI Gateway 迁移 #

这两个版本段的快照格式与 Easysearch 2.x 不兼容,推荐使用 INFINI Gateway 进行迁移。Gateway 是 INFINI Labs 提供的数据迁移工具,专门针对 Elasticsearch 到 Easysearch 的迁移场景进行了优化。

架构示意 #

┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│  Elasticsearch  │ ──── │ INFINI Gateway  │ ──── │  Easysearch     │
│  (源集群)       │      │  (迁移工具)     │      │  (目标集群)     │
└─────────────────┘      └─────────────────┘      └─────────────────┘

Gateway 内部通过 Scroll API 从源集群分批拉取数据,再通过 Bulk API 写入目标集群,整个过程对业务透明。

主要优势 #

  • 配置简单:只需配置源集群和目标集群地址、索引名称即可
  • 断点续传:支持从断点恢复,避免网络抖动导致重头再来
  • 进度可视:实时显示迁移进度和速率
  • 多索引并行:支持同时迁移多个索引

基本步骤 #

  1. 在目标集群创建索引的 mapping 和 setting
  2. 准备 Gateway 配置文件,填写源集群和目标集群连接信息
  3. 运行 Gateway 执行迁移
  4. 迁移完成后进行数据校验

详细的配置说明和操作示例,可参考 ES 数据迁移之 INFINI Gateway

备选方案 #

如果需要更灵活的控制,也可以自行编写脚本,通过 Scroll API 读取源数据、Bulk API 写入目标。这种方式适合有定制化需求的场景,但需要自行处理断点续传、错误重试等逻辑。


字段类型兼容性 #

直接兼容类型textkeywordlongdoublebooleandateobjectnestedgeo_pointgeo_shapeipcompletionwildcardflattenedaliasjoinrank_featurerank_featuresinteger_rangelong_rangedate_rangematch_only_text 等。

ES 7.x / 8.x 需替换类型

ES 类型Easysearch 替代方案数据保留说明
dense_vectorknn_dense_float_vector需安装 knn 插件,向量数据格式兼容
knn_vectorknn_dense_float_vector需安装 knn 插件
sparse_vectorknn_sparse_bool_vector需安装 knn 插件
constant_keywordkeyword需手动维护常量值
runtime移除或转为普通字段Easysearch 不支持运行时字段
histogramobject聚合 histogram 功能丢失
aggregate_metric_doubleobject需手动计算聚合
unsigned_longlongkeyword注意数值范围
semantic暂不支持-ES 专有 AI 功能

向量迁移要点:ES 的 dense_vector 数据可直接迁移到 Easysearch 的 knn_dense_float_vector,数据格式 [0.1, 0.2, ...] 完全兼容。需预先在目标索引创建正确的 mapping。

建议迁移前先用小索引测试,确认 mapping 无问题后再全量迁移。


常见问题与避坑指南 #

1. include_global_state 参数设置 #

该参数控制是否恢复集群级配置(模板、ILM 策略等)。不同版本的情况:

ES 版本发行版global_state说明
7.0-7.7任意兼容_index_template API
7.8-7.10OSS兼容无内置 _index_template
7.8-7.10default可能不兼容取决于是否使用 _index_template
7.11+任意不兼容有 9 个内置 _index_template

建议:迁移时统一使用 include_global_state=false,先恢复数据再重建配置。

2. ILM 和 data stream 迁移 #

  • ILM:索引的 lifecycle 设置保留,但 policy 需在 Easysearch 中重建
  • 数据流 (data stream):后备索引 (backing index) 数据完整恢复,语义需在目标侧重建
  • 冻结索引 (frozen index):自动恢复为普通可访问状态

3. 迁移验收标准 #

建议至少完成三项验证:

  • 文档量一致
  • 关键查询结果一致
  • 核心业务链路压测通过

4. 迁移窗口规划 #

  • 快照方案通常需要短停机窗口完成切换
  • Gateway 迁移可实现近实时同步,仅在切换连接时短暂停服

快照格式变化参考 #

字段ES 7.0-7.11ES 7.12-7.17ES 8.xEasysearch 2.x
min_version7.9.0 或无7.12.07.12.0支持
uuid(仓库级)不支持
cluster_id不支持
writer_uuid有(7.14+)不支持
transport_version不支持

总结 #

本文梳理了 Easysearch 2.x 对 ES 6/7/8 的迁移路径:

  • ES 7.0-7.11:直接快照恢复,路径最短
  • ES 6.x:INFINI Gateway 迁移 或 ES 7.10.x 中转
  • ES 7.12+ / 8.x:使用 INFINI Gateway 迁移

建议在正式迁移前,先选择非核心索引进行小规模验证,确认数据完整性和业务兼容性后再扩大迁移范围。

如有迁移相关问题,欢迎联系我们。

标签
Easysearch x
Elasticsearch x
迁移 x
快照 x
snapshot x
向量 x
IK x
分词 x
performance x
插件 x
开发 x
自定义 x
扩展 x
AI x
幻觉 x
大模型 x
Agent x
产品更新 x
Mem0 x
MCP x
AI Agent x
向量检索 x
kNN x
规则引擎 x
银行 x
保险 x
风控 x
Rules x
Percolator x
国产 x
搜索 x
安全 x
Lucene x
GraalVM x
JDK x
2026 x
开源 x
赞助 x
开源生态 x
社区 x
Coco AI x
二等奖 x
兴智杯 x
人工智能 x
赛事 x
低空经济 x
商业化 x
数据分析 x
金猿奖 x
国产化 x
搜索引擎 x
技术卓越奖 x
创新产品奖 x
IT168 x
APM x
Skywalking x
Easy-Es x
Coco x
GitLab x
代码审核 x
石油石化 x
Gitee x
投票 x
Meilisearch x
Rust x
轻量级 x
搜索百科 x
Docker x
Docker Compose x
Easyserach x
Console x
DevOps x
国产替代 x
backup x
CCR x
Gateway x
esdump x
source_reuse x
ignore_above x
OpenSearch x
AWS x
Solr x
Easyearch x
发明专利 x
数据分区 x
国际专利 x
一等奖 x
人工智能应用创新大赛 x
bulk x
embedding x
OpenAI x
TDBC x
2025 x
信通院 x
可信数据库大会 x
搜索型数据库 x
中国数据库产业图谱 x
上海开源创新菁英荟 x
开源创新新星企业 x
Workshop x
AI 搜索 x
智能助手 x
Automation x
Logstash x
MongoDB x
开源中国 x
直播 x
merge x
Elasticsearch 9 x
GitCode x
AI搜索 x
Cloud x
rollup x
Kubernetes x
Operator x
Arm64 x
Snapshot x
S3 x
Grafana x
Opensearch x
Nginx x
直播活动 x
搜索客社区 x
Meetup x
ES x
企业搜索 x
DeepSeek x
RAG x
certificate x
windows x
Rollup x
TopN x
Filebeat x
Ubuntu x
请求限速 x
INFINI Console x
指标 x
Kibana x
多集群 x
client x
Spring Boot x
ECE x
ES Bulk x
vector database x
Postgres x
可搜索快照 x
SDK x
官网 x
Web 开发 x
Next.js x
React x
Three.js x
Metrics x
Helm x
filter x
querycache x
practice x
localStorage x
响应式 x
时间组件 x
时区组件 x
极限科技 x
三周年 x
周年庆 x
国家高新技术企业 x
校园招聘 x
湖北工业大学 x
Tauri x
Web 开发人员 x
桌面应用开发 x
桌面端 x
Electron x
Pizza x
认证培训 x
报名 x
Scrapy x
爬虫 x
Rust开发者大会 x
docsearch x
文档搜索 x
Easyseach x
有奖征文 x
黑神话悟空 x
EKS x
征文系列 x
跨集群搜索 x
科技中小企业 x
白皮书 x
Python SDK x
数据库产业图谱 x
超大规模 x
分布式集群 x
写入限流 x
2024可信数据库发展大会 x
创新型中小企业 x
搜索数据库 x
正排索引 x
免费许可证 x
K8S x
DTC2024 x
实时搜索 x
ES国产化 x
Redis x
OOM x
测试 x
内存 x
趋势 x
AI绘画 x
Stable Diffusion x
Diffusion x
Model x
GAN x
语义搜索 x
知识图 x
向量数据库 x
中国信通院 x
星河(Galaxy) x
标杆案例 x
鲲鹏 x
鲲鹏技术认证 x
客户端 x
日志平台 x
LDAP x
Loadgen x
中国一汽 x
国内数据库 x
墨天轮 x
监控系统 x
集成测试 x
ZSTD x
Helm Charts x
国产适配 x
兆芯 x
Linux x
LoongArch x
信创适配 x
二维拆分算法 x
中国移动云 x
Vault x
加密 x
安全工具 x
图片搜索 x
Alerting x
SQL x
Embedding x
可信数据库 x
统信 x
海光 x
龙芯 x
restore x
Arm x
大数据企业证书 x
移动云大会 x
信通院产品评测 x
国内首家 x
数据可视化 x
北京软协 x
第十届理事会会员单位 x
Apache Arrow x
宣传片 x
大会分享 x
多集群管理 x
无缝数据迁移 x
Loadrun x
INFINI Gateway x
log4j x