Elasticsearch 数据导入求助~

2016 年 7 月 29 日
 gejigeji

有 10+亿条数据有检索需求,现在是每条一行存在文件里(不是 json ,字段\t 间隔),请问有什么好的方法批量的导入到 Elasticsearch ?

4925 次点击
所在节点    程序员
12 条回复
Suclogger
2016 年 7 月 29 日
solr 可以导入文件, solr 和 elasticserch 底层实现都是 lucense ,用 solr 导入后将索引迁移到 elasticsearch
(没实践过,瞎猜的)
shoumu
2016 年 7 月 29 日
写个脚本,把文件中的数据读出来,然后建索引
gejigeji
2016 年 7 月 29 日
@shoumu 读出来,包成 json ,再一条条 curl 吗? 我是觉得麻烦,效率低,懒
defunct9
2016 年 7 月 29 日
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"......}
knightdf
2016 年 7 月 29 日
多进程 bulk 最快了,我做的时候速度可以达到 2500doc/s , 不过在数据量大后频繁的做 merge 就会慢很多
gejigeji
2016 年 7 月 29 日
@knightdf
@defunct9
感谢 2500 doc/s 还是慢啊,可能我 doc 比较短会快点,不过我还是先试试 solr ,“据说”支持文档导入,非实时索引的检索性能也好一些
jaymiao
2016 年 7 月 29 日
用 logstash, 可以配置进程数量,只要你的 ES 足够强就行。
knightdf
2016 年 7 月 29 日
@gejigeji 我是录入的全网页的内容,内容比较大把
gqlxj1987
2016 年 7 月 31 日
用 logstash 。。 bulk 部分,感觉后期不可控。
jahan
2018 年 2 月 9 日
借楼询问。
同样是很多带有分隔符的数据库导出文件,想导入 elasticsearch,有没有现成的工具或者 python 脚本?
有没有可视化配置的工具呢? logstash ?
jahan
2018 年 2 月 9 日
@shoumu 写脚本的意思是将每一行转换成 json ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/295703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX