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 的插入速度?
回答:
elasticsearch bulk入库文件大小有限制,如果bulk文件过大会导致录入失败,你需要把录入后的返回打印查看,还有你bulk文件是怎么写的,是不是有重复的,由create变成了update导致,最后还有elasticsearch有个延后,默认30s,录入到数据可搜索有延迟,bulk文件也需要时间处理,使用task API进行查看是否有bulk任务正在执行
以上是 Elasticsearch快速并发插入数据会丢数据? 的全部内容, 来源链接: utcz.com/p/937678.html