有 10+亿条数据有检索需求,现在是每条一行存在文件里(不是 json ,字段\t 间隔),请问有什么好的方法批量的导入到 Elasticsearch ?
1
Suclogger 2016 年 7 月 29 日
solr 可以导入文件, solr 和 elasticserch 底层实现都是 lucense ,用 solr 导入后将索引迁移到 elasticsearch
(没实践过,瞎猜的) |
2
shoumu 2016 年 7 月 29 日
写个脚本,把文件中的数据读出来,然后建索引
|
4
defunct9 2016 年 7 月 29 日
|
5
defunct9 2016 年 7 月 29 日
有批量的。格式有变化
/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 年 7 月 29 日
多进程 bulk 最快了,我做的时候速度可以达到 2500doc/s , 不过在数据量大后频繁的做 merge 就会慢很多
|
7
gejigeji OP |
8
jaymiao 2016 年 7 月 29 日
用 logstash, 可以配置进程数量,只要你的 ES 足够强就行。
|
10
gqlxj1987 2016 年 7 月 31 日
用 logstash 。。 bulk 部分,感觉后期不可控。
|
11
jahan 2018 年 2 月 9 日
借楼询问。
同样是很多带有分隔符的数据库导出文件,想导入 elasticsearch,有没有现成的工具或者 python 脚本? 有没有可视化配置的工具呢? logstash ? |