让我们介绍一个新工具,可以帮助您将数据从 Elasticsearch 迁移到 Manticore Search - https://github.com/manticoresoftware/es2ms 。
该工具自动化将数据从 Elasticsearch 复制到 Manticore Search
要求
- Elasticsearch 导出工具 : https://github.com/elasticsearch-dump/elasticsearch-dump
- Elasticsearch 和 Manticore PHP 客户端
安装
composer update
使用
迁移所有索引:
php migrator.php
迁移特定索引:
php migrator.php --elasticsearch.host=my.domain.com --elasticsearch.port=9200 --indexes=index1,index2
参数
indexes
- ES 索引名称列表,以逗号分隔。默认:迁移所有可用索引dryrun
- 进行一次试运行而不迁移任何内容。它打印有关可用 ES 索引的信息onlyschemas
- 仅创建索引,不迁移数据onlydata
- 迁移数据,假定索引已被创建elasticsearch.host
- ES 主机,默认:127.0.0.1elasticsearch.port
- ES 端口,默认:92000
elasticsearch.user
- ES 用户名,无默认值elasticsearch.pass
- ES 密码,无默认值elasticsearch.batch_size
- 每轮检索多少个 ES 文档(默认 10000)manticoresearch.host
- Manticore 主机,默认:127.0.0.1manticoresearch.port
- Manticore HTTP 端口,默认:9308manticoresearch.batch_size
- 在 Manticore 中,每个 INSERT 批次中分组多少个文档(默认 10000)limit
- 限制从索引迁移的文档数量(默认 0 - 迁移所有)threads
- 使用多个并行工作线程处理索引(每个工作线程一次处理一个索引),默认是 1types.*
- 允许覆盖数据类型的设置(见 数据类型转换 )log
- 日志文件路径;默认是 ‘stdout’ - 输出到控制台config
- 从 JSON 格式的配置文件中读取参数
从配置文件读取的参数可以通过命令行参数提供的值进行覆盖
php migrator.php --config config.sample.json --threads=2