ES dense vector 切换为BES方案

Elasticsearch BES

  • 邀测版存储计算分离套餐介绍
  • 功能发布记录
  • 产品描述
    • 基本概念
    • 关键特性
    • 产品介绍
    • 产品性能
      • 4核16GB512GB通用型的3个数据节点实例基准性能指标
      • 8核16GB512GB计算型的3个数据节点实例基准性能测试
      • 16核32GB512GB计算型的3个数据节点实例基准性能指标
      • 4核8GB512GB计算型的3个数据节点实例基准性能测试
      • 8核32GB512GB通用型的3个数据节点实例基准性能指标
      • 16核64GB512GB通用型的3个数据节点实例基准性能指标
      • 概述
  • Python-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • Kibana
    • Kibana使用指南
  • Logstash
    • Logstash使用指南
    • 实例管理
      • 实例详情信息
      • 实例扩缩容
      • 管道管理
      • 创建实例
      • 实例列表
      • 删除实例
  • 开发指南
    • Elasticsearch Restful API
    • 通过其他客户端访问Elasticsearch
    • Elasticsearch Java客户端
      • Low Level REST Client
      • Rest Client操作向量索引示例
      • Java REST Client
      • High Level REST Client
  • Java-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • 向量检索特性
    • 资源规划
    • 关键概念
    • 应用场景
    • 快速入门
    • 算法介绍
    • 能力简介
    • 向量数据库
    • 操作指南
      • 写入和查询数据
      • 训练模型
      • 向量索引缓存管理
      • 创建索引
      • 基于Reciprocal Rank Fusion的融合查询
      • 参数优化
      • 7.4版本兼容说明
    • 最佳实践
      • 调优建议
      • BES RAG 最佳实践:基于LangChain+BES的私域知识的QA问答系统
    • 迁移方案
      • ES dense vector 切换为BES方案
  • ELK
    • 基于ELK构建日志分析系统
  • 增强特性
    • 慢查询隔离
    • 百度NLP中文分词词典动态更新
    • 百度NLP中文分词插件
    • 基于段文件的主从复制
    • 基于BOS的冷热数据分离
  • 快速入门
    • 访问Elasticsearch服务
    • 导入数据并搜索
    • 创建集群
    • 集群资源评估
  • 典型实践
    • 使用BSC将BOS中的数据导入Es
    • 使用BSC将Kafka中的数据导入Es
    • 基于CCR实现多集群跨地域高可用
    • 基于节点磁盘介质的冷热数据分离
  • 服务等级协议SLA
    • 数据迁移服务协议
    • BES服务等级协议SLA(V1.0)
  • 常见问题
    • Spark访问Es常见问题
    • Elasticsearch系统常见问题
    • 常见问题总览
  • 产品定价
    • 预付费
    • 计费说明
    • 配置变更费用说明
    • 后付费
  • API文档
    • 概述
    • 自动续费相关接口
      • 续费列表
      • 查看自动续费
      • 查看自动续费规则列表
      • 续费操作
      • 更新自动续费规则
      • 删除自动续费规则
      • 创建自动续费规则
    • 插件配置接口
      • 上传自定义插件
      • 卸载系统默认插件
      • 上传nlp词典
      • 安装系统默认插件
      • 获取默认和自定义插件列表
      • 卸载自定义插件
      • 安装自定义插件
      • 删除自定义插件
      • 查看nlp词典
    • 日志管理相关接口
      • 查看日志导出任务记录
      • 创建日志导出任务
      • 日志设置
      • 日志查询
    • 标签接口
      • 查询标签列表
      • 批量新增标签
      • 单个集群更新标签
    • 智能巡检接口
      • 查看近7天已完成的巡检任务列表
      • 近七天巡检概况
      • 查看手动巡检任务的配置
      • 集群巡检授权
      • 列举所有可选巡检项
      • 查询是否可以提交巡检任务
      • 最新一次巡检概况
      • 查看集群是否开启自动巡检
      • 修改手动巡检任务的配置
      • 开启或关闭自动巡检
      • 提交手动巡检任务
      • 查询今日已执行完成的手动巡检次数
      • 查看某巡检任务的执行状态和结果
    • 集群相关接口
      • 获取操作历史信息
      • 删除集群
      • 新增节点类型
      • 开启和关闭https
      • 查看集群详情信息
      • 重置密码
      • EIP绑定
      • EIP解绑
      • 是否开启Grafana监控
      • 获取数据量观测数据
      • 查看集群列表
      • 上传NLP分词词典
      • 创建集群
      • 智能评估
      • 集群blb信息
      • 用户可用代金券列表
      • 停止集群
      • 扩容集群
      • 启动集群
      • 重启集群
    • 实例相关接口
      • 批量停止实例
      • 启动实例
      • 查看缩容节点列表
      • 数据迁移
      • 数据迁移系统建议
      • 批量启动实例
      • 数据迁移回滚
      • 停止实例
      • 数据迁移节点列表
      • 删除实例
    • 配置修改相关接口
      • 获取同义词文件列表
      • 查看集群配置
      • 删除同义词配置文件
      • 上传同义词配置文件
      • 配置修改
    • 定时调度
      • 更新定时调度任务
      • 删除定时调度任务
      • 创建和更新定时调度任务
      • 查看定时调度任务
  • API3.0
    • 集群相关接口
      • 删除集群
  • Elasticsearch
    • 用户手册
      • YML参数配置
      • 权限管理
      • 智能巡检
      • 数据迁移
      • 基于BOS的快照与恢复
      • 集群列表
      • 账号使用说明
      • 多可用区部署
      • 定时调度
      • 数据量观测
      • 日志查询
        • 日志查询(旧)
        • 日志查询(新)
        • 日志导出
        • 查询语法
      • 集群配置
        • 配置同义词
      • 插件管理
        • 上传与安装自定义插件
        • Elasticsearch插件列表
        • 系统默认插件
          • analysis-pinyin拼音分词插件
          • IK中文分词插件与动态更新词典
          • compression-zstd插件
          • CCR插件
          • 限流插件
          • 动态同义词插件
          • 简繁体转换插件
          • ingest attachment插件
          • SQL插件
      • 配置变更
        • 节点数据迁移
        • 集群变配说明与建议
        • 集群扩缩容
      • 版本升级
        • 升级版本
        • 内核版本说明
        • 升级检查
      • 集群监控报警
        • 监控查看及指标说明
        • 配置报警
      • 集群管理
        • 集群重启
        • 变更HTTPS协议用户指南
        • 节点启停
        • 查看集群信息
        • 集群创建
        • 公网绑定
        • 修改集群名称
        • 跨可用区迁移集群
        • 集群删除
        • 集群列表
        • 自动续费
        • 密码重置
        • ES服务区域代码
      • 账户管理
        • 多用户访问控制
所有文档
menu
没有找到结果,请重新输入

Elasticsearch BES

  • 邀测版存储计算分离套餐介绍
  • 功能发布记录
  • 产品描述
    • 基本概念
    • 关键特性
    • 产品介绍
    • 产品性能
      • 4核16GB512GB通用型的3个数据节点实例基准性能指标
      • 8核16GB512GB计算型的3个数据节点实例基准性能测试
      • 16核32GB512GB计算型的3个数据节点实例基准性能指标
      • 4核8GB512GB计算型的3个数据节点实例基准性能测试
      • 8核32GB512GB通用型的3个数据节点实例基准性能指标
      • 16核64GB512GB通用型的3个数据节点实例基准性能指标
      • 概述
  • Python-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • Kibana
    • Kibana使用指南
  • Logstash
    • Logstash使用指南
    • 实例管理
      • 实例详情信息
      • 实例扩缩容
      • 管道管理
      • 创建实例
      • 实例列表
      • 删除实例
  • 开发指南
    • Elasticsearch Restful API
    • 通过其他客户端访问Elasticsearch
    • Elasticsearch Java客户端
      • Low Level REST Client
      • Rest Client操作向量索引示例
      • Java REST Client
      • High Level REST Client
  • Java-SDK
    • 实例
    • 异常
    • 日志
    • 节点配置类型
    • 版本更新记录
    • 快速入门
    • 集群
    • BesClient
    • 安装SDK工具包
    • 概述
  • 向量检索特性
    • 资源规划
    • 关键概念
    • 应用场景
    • 快速入门
    • 算法介绍
    • 能力简介
    • 向量数据库
    • 操作指南
      • 写入和查询数据
      • 训练模型
      • 向量索引缓存管理
      • 创建索引
      • 基于Reciprocal Rank Fusion的融合查询
      • 参数优化
      • 7.4版本兼容说明
    • 最佳实践
      • 调优建议
      • BES RAG 最佳实践:基于LangChain+BES的私域知识的QA问答系统
    • 迁移方案
      • ES dense vector 切换为BES方案
  • ELK
    • 基于ELK构建日志分析系统
  • 增强特性
    • 慢查询隔离
    • 百度NLP中文分词词典动态更新
    • 百度NLP中文分词插件
    • 基于段文件的主从复制
    • 基于BOS的冷热数据分离
  • 快速入门
    • 访问Elasticsearch服务
    • 导入数据并搜索
    • 创建集群
    • 集群资源评估
  • 典型实践
    • 使用BSC将BOS中的数据导入Es
    • 使用BSC将Kafka中的数据导入Es
    • 基于CCR实现多集群跨地域高可用
    • 基于节点磁盘介质的冷热数据分离
  • 服务等级协议SLA
    • 数据迁移服务协议
    • BES服务等级协议SLA(V1.0)
  • 常见问题
    • Spark访问Es常见问题
    • Elasticsearch系统常见问题
    • 常见问题总览
  • 产品定价
    • 预付费
    • 计费说明
    • 配置变更费用说明
    • 后付费
  • API文档
    • 概述
    • 自动续费相关接口
      • 续费列表
      • 查看自动续费
      • 查看自动续费规则列表
      • 续费操作
      • 更新自动续费规则
      • 删除自动续费规则
      • 创建自动续费规则
    • 插件配置接口
      • 上传自定义插件
      • 卸载系统默认插件
      • 上传nlp词典
      • 安装系统默认插件
      • 获取默认和自定义插件列表
      • 卸载自定义插件
      • 安装自定义插件
      • 删除自定义插件
      • 查看nlp词典
    • 日志管理相关接口
      • 查看日志导出任务记录
      • 创建日志导出任务
      • 日志设置
      • 日志查询
    • 标签接口
      • 查询标签列表
      • 批量新增标签
      • 单个集群更新标签
    • 智能巡检接口
      • 查看近7天已完成的巡检任务列表
      • 近七天巡检概况
      • 查看手动巡检任务的配置
      • 集群巡检授权
      • 列举所有可选巡检项
      • 查询是否可以提交巡检任务
      • 最新一次巡检概况
      • 查看集群是否开启自动巡检
      • 修改手动巡检任务的配置
      • 开启或关闭自动巡检
      • 提交手动巡检任务
      • 查询今日已执行完成的手动巡检次数
      • 查看某巡检任务的执行状态和结果
    • 集群相关接口
      • 获取操作历史信息
      • 删除集群
      • 新增节点类型
      • 开启和关闭https
      • 查看集群详情信息
      • 重置密码
      • EIP绑定
      • EIP解绑
      • 是否开启Grafana监控
      • 获取数据量观测数据
      • 查看集群列表
      • 上传NLP分词词典
      • 创建集群
      • 智能评估
      • 集群blb信息
      • 用户可用代金券列表
      • 停止集群
      • 扩容集群
      • 启动集群
      • 重启集群
    • 实例相关接口
      • 批量停止实例
      • 启动实例
      • 查看缩容节点列表
      • 数据迁移
      • 数据迁移系统建议
      • 批量启动实例
      • 数据迁移回滚
      • 停止实例
      • 数据迁移节点列表
      • 删除实例
    • 配置修改相关接口
      • 获取同义词文件列表
      • 查看集群配置
      • 删除同义词配置文件
      • 上传同义词配置文件
      • 配置修改
    • 定时调度
      • 更新定时调度任务
      • 删除定时调度任务
      • 创建和更新定时调度任务
      • 查看定时调度任务
  • API3.0
    • 集群相关接口
      • 删除集群
  • Elasticsearch
    • 用户手册
      • YML参数配置
      • 权限管理
      • 智能巡检
      • 数据迁移
      • 基于BOS的快照与恢复
      • 集群列表
      • 账号使用说明
      • 多可用区部署
      • 定时调度
      • 数据量观测
      • 日志查询
        • 日志查询(旧)
        • 日志查询(新)
        • 日志导出
        • 查询语法
      • 集群配置
        • 配置同义词
      • 插件管理
        • 上传与安装自定义插件
        • Elasticsearch插件列表
        • 系统默认插件
          • analysis-pinyin拼音分词插件
          • IK中文分词插件与动态更新词典
          • compression-zstd插件
          • CCR插件
          • 限流插件
          • 动态同义词插件
          • 简繁体转换插件
          • ingest attachment插件
          • SQL插件
      • 配置变更
        • 节点数据迁移
        • 集群变配说明与建议
        • 集群扩缩容
      • 版本升级
        • 升级版本
        • 内核版本说明
        • 升级检查
      • 集群监控报警
        • 监控查看及指标说明
        • 配置报警
      • 集群管理
        • 集群重启
        • 变更HTTPS协议用户指南
        • 节点启停
        • 查看集群信息
        • 集群创建
        • 公网绑定
        • 修改集群名称
        • 跨可用区迁移集群
        • 集群删除
        • 集群列表
        • 自动续费
        • 密码重置
        • ES服务区域代码
      • 账户管理
        • 多用户访问控制
  • 文档中心
  • arrow
  • ElasticsearchBES
  • arrow
  • 向量检索特性
  • arrow
  • 迁移方案
  • arrow
  • ES dense vector 切换为BES方案
本页目录
  • 创建索引
  • 快速开始
  • 自定义索引参数
  • 向量检索
  • ANN检索
  • 精确检索

ES dense vector 切换为BES方案

更新时间:2025-08-20

Elasticsearch 从8.0版本开始提供了 Approximate KNN Search,可以对 dense_vector 类型字段存储的向量数据进行近似最近邻搜索。相比于 Exact (brute-force) KNN Search,ANN Search 可以提供更低的检索延迟。Elasticsearch 的 Approximate KNN Search 通过 Lucene 9 实现,而目前Lucene仅提供了基于HNSW的近似最近邻(ANN)实现。

BES提供向量检索插件实现了向量数据的存储和检索,可以支持多种索引类型,并融入ES的数据生命周期和逻辑结构,提供ES风格的DSL进行查询。 因此,ES 8的用户可以非常自然地理解并掌握向量索引插件的使用方法,并可以从ES 8平滑迁移到BES。

下面介绍一些ES8和BES在使用上的区别和迁移方式。

功能对比和迁移

创建索引

快速开始

在ES8创建索引时,增加dense_vector类型字段,指定维度(dims),并开启索引(index:true),即可开始写入向量数据,进行ANN检索了。示例如下。

JSON
1// ES8 示例
2PUT /image-index
3{
4  "mappings": {
5    "properties": {
6      "image-vector": {
7        "type": "dense_vector", 
8        "dims": 3,
9        "index": true
10      },
11      "title": {
12        "type": "text"
13      },
14      "file-type": {
15        "type": "keyword"
16      }
17    }
18  }
19}

而BES的向量能力通过插件提供,所以创建索引的时候,需要在index settings中开启KNN,然后增加bpack_vector类型字段,指定索引类型(index_type)和维度(dims),即可开始写入向量数据,进行ANN检索了,配置内容和ES8类似,示例如下:

JSON
1// BES 示例
2PUT /image-index
3{
4  "settings": {
5    "index": {
6      "knn": true
7    }
8  },
9  "mappings": {
10    "properties": {
11    "image-vector": {
12        "type": "bpack_vector",
13        "index_type":"hnsw",
14        "dims": 3,
15      },
16      "title": {
17        "type": "text"
18      },
19      "file-type": {
20        "type": "keyword"
21      }
22    }
23  }
24}

自定义索引参数

在ES8创建索引的时候,除了必要的维数参数,还可以指定相似度算法(similarity参数,可选值包括 l2_norm/dot_product/cosine 3种)以及HNSW构图的关键参数(index_options参数),示例如下:

JSON
1// ES8 示例
2PUT image-index
3{
4  "mappings": {
5    "properties": {
6      "image-vector": {
7        "type": "dense_vector",
8        "dims": 3,
9        "index": true,
10        "similarity": "l2_norm", 
11        "index_options": {
12          "type": "hnsw",
13          "m": 32,
14          "ef_construction": 100
15        }
16      },
17      "title": {
18        "type": "text"
19      },
20      "file-type": {
21        "type": "keyword"
22      }
23    }
24  }
25}

而BES除了支持HNSW索引以外,还支持 HNSW_sq8、HNSW_pq、ivf、ivf_pq 等索引类型,具体参数配置请参考文档:创建索引。

而对于HNSW的场景,BES也支持配置相似度算法(space_type参数,可选值包括 l2/dot_prod/cosine 3种,和ES8的命名略有区别)以及HNSW构图的关键参数(parameters参数)。此外,也可以在 index settings 中设置默认值,这样没有显示设置parameters参数的字段会使用默认值构建。示例如下:

JSON
1// BES 示例
2PUT /image-index
3{
4  "settings": {
5    "index": {
6      "knn": true,
7      "bpack.knn.hnsw.space": "l2",
8      "bpack.knn.hnsw.m": 32,
9      "bpack.knn.hnsw.ef_construction": 200
10    }
11  },
12  "mappings": {
13    "properties": {
14      "image-vector": {
15        "type": "bpack_vector",
16        "dims": 3,
17        "index_type":  "hnsw",
18        "space_type": "l2",
19        "parameters": {
20            "m": 32,
21            "ef_construction": 200
22        }
23      },
24      "title-vector": { // 使用 index settings 的默认 hnsw 参数
25        "type": "bpack_vector",
26        "index_type":  "hnsw",
27        "dims": 3
28      },
29      "title": {
30        "type": "text"
31      },
32      "file-type": {
33        "type": "keyword"
34      }
35    }
36  }
37}

ES8除了float类型的向量,还支持byte类型的向量,这部分BES目前没有支持,无法迁移。

向量检索

ANN检索

ES8的Search API增加了knn参数用于定义KNN查询,通过参数filter可以支持对标量数据进行过滤,通过参数query_vector指定查询的目标向量,通过参数num_candidates可以指定在每个shard检索时的候选队列大小,用于平衡查询性能和召回率。

此外,ES8支持通过similarity参数指定向量检索结果的相似度阈值,不会返回相似度低于阈值的向量。示例如下:

JSON
1// ES8 示例
2POST /image-index/_search
3{
4  "size": 10,
5  "knn": {
6    "field": "image-vector",
7    "query_vector": [-5, 9, -12],
8    "k": 10,
9    "num_candidates": 200, // 用于调整hnsw的ef_search参数
10    "filter": {
11      "term": {
12        "file-type": "png"
13      }
14    }
15  },
16  "fields": [ "title", "file-type" ]
17}

BES是在Search API的Query DSL里面,增加了knn相关的语法来定义KNN查询,通过参数filter可以支持对标量数据进行过滤,通过参数vector指定查询的目标向量,通过ef参数指定在每个shard检索时的候选队列大小,用于平衡查询性能和召回率,等同于ES8的num_candidates参数。详细语法可以参考文档:向量检索。示例如下:

JSON
1// BES 示例
2GET /image-index/_search
3{
4  "size": 10,
5  "query": {
6    "knn": { 
7      "image-vector": {
8        "vector": [-5, 9, -12],
9        "k": 10,
10        "ef": 200, // 如果使用hnsw算法,用这个参数调整ef_search参数
11        "linear":false, // 设置为true则进行精确检索(暴力检索),默认false
12        "filter": {
13          "term": {
14            "file-type": "png"
15          }
16        }
17      }
18    }
19  },
20  "fields": [ "title", "file-type" ]
21}

精确检索

ES8支持通过script_score query来遍历所有向量,通过script计算相似度,来获取精确的TopN结果,即Exact (brute-force) KNN Search。script_score 内的query参数可以对标量字段进行过滤,数据过滤越多,需要通过script计算score的数据越少,检索的效率越高,不需要filter的场景可以使用match_all query获取全量数据,示例如下:

JSON
1// ES8 示例
2POST /image-index/_search
3{
4  "size": 10,
5  "query": {
6    "script_score": {
7      "query": {
8        "term": {
9          "file-type": "png"
10        }
11      }, 
12      "script": {
13        "source": "cosineSimilarity(params.queryVector, 'image-vector') + 1.0",
14        "params": {
15          "queryVector": [-5, 9, -12]
16        }
17      }
18    }
19  }
20}

BES可以通过参数linear指定是否进行精确检索,在需要精确检索的时候,将linear参数设置为true即可,查询DSL的结构和ANN Search相同,示例如下:

JSON
1// BES 示例
2GET /image-index/_search
3{
4  "size": 10,
5  "query": {
6    "knn": { 
7      "image-vector": {
8        "vector": [-5, 9, -12],
9        "k": 10,
10        "ef": 200, // 如果使用hnsw算法,用这个参数调整ef_search参数
11        "linear":true, // 设置为true则进行精确检索(暴力检索),默认false
12        "filter": {
13          "term": {
14            "file-type": "png"
15          }
16        }
17      }
18    }
19  },
20  "fields": [ "title", "file-type" ]
21}

此外,也可以通过ES的script_score查询通过脚本计算进行精确检索,也是遍历全量数据进行暴力计算。

BES通过自定义script engine实现了简化的script计算逻辑,通过指定"lang":"knn"和"source":"bpack_knn_script"可以使用BES预定义的计算逻辑,只需要在params中指定向量字段和距离算法等参数即可。具体的距离计算公式和score计算公式请参考文档:算法介绍。示例如下:

JSON
1// BES 示例
2POST /image-index/_search
3{
4   "size": 10, 
5   "fields": [ "title", "file-type" ],
6   "query": {
7      "script_score": {
8         "query": { // 填写所需要的filter,不需要filter则使用match_all
9            "match_all": {}
10         },
11         "script": {
12            "source": "bpack_knn_script", //固定参数
13            "lang": "knn", // 固定参数
14            "params": {
15               "space": "cosine", // 距离计算算法,支持 l2/cosine/innerproduct
16               "field": "image-vector", // 向量字段
17               "vector": [-5, 9, -12] // 查询向量
18            }
19         }
20      }
21   }
22}

如果需要更灵活的计算逻辑,也可以直接使用默认的painless脚本语言,在source调用距离计算函数,完成复杂的计算。示例如下:

JSON
1// BES 示例
2GET /image-index/_search
3{
4   "size": 10, 
5   "fields": [ "title", "file-type" ],
6   "query": {
7      "script_score": {
8         "query": { // 填写所需要的filter,不需要filter则使用match_all
9            "match_all": {}
10         },
11         "script": {
12            "source": "(1.0 + cosineSimilarity(params.query_vector, doc[params.field])) / 2", // 支持的距离计算函数包括,l2Squared/cosineSimilarity/innerProduct
13            "params": {
14               "field": "image-vector", // 向量字段
15               "vector": [-5, 9, -12] // 查询向量
16            }
17         }
18      }
19   }
20}

迁移方案

向量数据从ES8迁移到BES的场景,需要重新构建向量索引,所以可以考虑通过重灌数据或者Logstash的方式进行数据迁移。

  • 重灌数据的方式,即手动在BES侧新建索引(BES和ES8的参数差异参考上文),然后通过bulk请求写入数据。
  • Logstash的方式,也需要先手动在BES侧新建索引,因为Logstash不会主动创建BES的向量索引。然后可以通过Logstash完成数据的迁移。

下面介绍基于Logstash的数据迁移方式。

  1. 在BES新建目标索引,以上文的数据为例:
JSON
1PUT /image-index
2{
3  "settings": {
4    "index": {
5      "knn": true
6    }
7  },
8  "mappings": {
9    "properties": {
10    "image-vector": {
11        "type": "bpack_vector",
12        "index_type":"hnsw",
13        "dims": 3,
14      },
15      "title": {
16        "type": "text"
17      },
18      "file-type": {
19        "type": "keyword"
20      }
21    }
22  }
23}
  1. 安装部署Logstash与Java 8 以上的JDK环境,对于7.10.2版本的BES集群,推荐部署logstash-oss的7.10.2版本。
Bash
1wget https://artifacts.elastic.co/downloads/logstash/logstash-oss-7.10.2-linux-x86_64.tar.gz
2tar xvf logstash-oss-7.10.2-linux-x86_64.tar.gz
  1. 配置Logstash任务。简单示例如下,其中中括号的部分是需要替换为实际内容的,另外,可以根据需要添加认证方式,例如 user/password 等,详情可以参考文档:plugins-outputs-elasticsearch
Plain Text
1input {
2    elasticsearch {
3        hosts => ["http://{es8-host}:{es8-port}"]
4        index => "{es8-index}"
5    }
6}
7output {
8    elasticsearch {
9        hosts => ["http://{bes-host}:{bes-port}"]
10        index => "{bes-index}"
11        user => "{bes-user}"
12        password => "{bes-password}"
13    }
14}
  1. 启动Logstash
Bash
1nohup ./bin/logstash -f ~/*.conf 2>&1 >/dev/null &

然后等待Logstash完成数据迁移即可。

注意事项:需要准备Logstash环境并连通ES8和BES集群的网络。

上一篇
最佳实践
下一篇
ELK