Elasticsearch快速并发插入数据会丢数据?
Python爬虫,大概3-5个线程并发运行,使用 elasticsearch-py 库的 bulk(**kwargs)
函数向阿里云的 Elasticsearch 插入数据,每秒大概几十条数据,分多个 bulk 批量插入数据。
elasticsearch的 index 只有8个字段,每个字段的数据长度都不到20字节,只有一个name字段使用ik分词。
同时使用Redis的hash类型和Elasticsearch记录相同的数据。
数据插入频率少的时候 Redis 和 Elasticsearch 记录的条数一样。
当插入频率加快时,Redis记录了2000+条,Elasticsearch只记录了400+,是什么限制了 Elasticsearch 的插入速度?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
elasticsearch bulk入库文件大小有限制,如果bulk文件过大会导致录入失败,你需要把录入后的返回打印查看,还有你bulk文件是怎么写的,是不是有重复的,由create变成了update导致,最后还有elasticsearch有个延后,默认30s,录入到数据可搜索有延迟,bulk文件也需要时间处理,使用task API进行查看是否有bulk任务正在执行