当前位置:  开发笔记 > 前端 > 正文

弹性搜索的索引速度为1000万个事件

如何解决《弹性搜索的索引速度为1000万个事件》经验,为你挑选了1个好方法。

我试图找出为什么elasticsearch在索引方面如此缓慢.我不确定它是否是对弹性搜索本身的限制,但我会分享到目前为止我所拥有的.

我有一个弹性搜索节点和一个框上运行的logstash实例.我的文档有大约15个字段,我有一个弹性搜索映射设置与正确的类型(虽然我尝试没有映射,得到几乎相同的结果).

我一次索引大约800万到1000万个事件,并采取了以下方法.

使用以下格式的批量api(我将csv转换为JSON并将其放入我卷入的文件中

{"create" : {}}
{"field1" : "value1", "field2" : "value2 .... }
{"create" : {}}
{"field1" : "value1", "field2" : "value2 .... }
{"create" : {}}
{"field1" : "value1", "field2" : "value2 .... }

我也尝试使用tcp输入和原始csv或使用文件监听器的logstash,并将csv cat到文件logstash正在监听的末尾.

所有这三种方法似乎每秒摄取大约10,000个事件,这非常慢.

难道我做错了什么?我是否应该在批量摄取中明确指定ID而不是让它自动生成一个?

通过批量API摄取时,我将事件分成50,000和100,000个事件文件,并分别进行摄取.



1> kenzie..:

我推荐这个博客.在批量索引期间调整以下参数应该有所帮助,但是一旦完成,请减少refresh_interval.

 index.store.type: mmapfs
 indices.memory.index_buffer_size: 30%
 index.translog.flush_threshold_ops: 50000
 refresh_interval: 30s

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有