Elasticsearch 数据导入求助~

2016-07-29 10:39:13 +08:00
 gejigeji

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

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

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

https://www.v2ex.com/t/295703

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

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

© 2021 V2EX