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 的插入速度?

阅读 831
评论
    1 个回答

    elasticsearch bulk入库文件大小有限制,如果bulk文件过大会导致录入失败,你需要把录入后的返回打印查看,还有你bulk文件是怎么写的,是不是有重复的,由create变成了update导致,最后还有elasticsearch有个延后,默认30s,录入到数据可搜索有延迟,bulk文件也需要时间处理,使用task API进行查看是否有bulk任务正在执行

      撰写回答

      登录后参与交流、获取后续更新提醒