有 10+亿条数据有检索需求,现在是每条一行存在文件里(不是 json ,字段\t 间隔),请问有什么好的方法批量的导入到 Elasticsearch ?
1 Suclogger 2016-07-29 10:51:58 +08:00 solr 可以导入文件, solr 和 elasticserch 底层实现都是 lucense ,用 solr 导入后将索引迁移到 elasticsearch (没实践过,瞎猜的) |
![]() | 2 shoumu 2016-07-29 11:12:24 +08:00 写个脚本,把文件中的数据读出来,然后建索引 |
![]() | 4 defunct9 2016-07-29 11:23:08 +08:00 |
![]() | 5 defunct9 2016-07-29 11:24:04 +08:00 有批量的。格式有变化 /posts/post/_bulk {"index":{"_index":"posts","_type":"post","_id":634}} {"title":"","content":"","slug"......} {"index":{"_index":"posts","_type":"post","_id":635}} {"title":"","content":"","slug"......} |
![]() | 6 knightdf 2016-07-29 11:27:44 +08:00 多进程 bulk 最快了,我做的时候速度可以达到 2500doc/s , 不过在数据量大后频繁的做 merge 就会慢很多 |
7 gejigeji OP |
![]() | 8 jaymiao 2016-07-29 16:44:48 +08:00 用 logstash, 可以配置进程数量,只要你的 ES 足够强就行。 |
![]() | 10 gqlxj1987 2016-07-31 08:43:35 +08:00 用 logstash 。。 bulk 部分,感觉后期不可控。 |
![]() | 11 jahan 2018-02-09 12:30:41 +08:00 借楼询问。 同样是很多带有分隔符的数据库导出文件,想导入 elasticsearch,有没有现成的工具或者 python 脚本? 有没有可视化配置的工具呢? logstash ? |