ElasticStack系列之十九 & bulk时 index 和 create 的区别
Posted 星火燎原智勇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticStack系列之十九 & bulk时 index 和 create 的区别相关的知识,希望对你有一定的参考价值。
区别:
两篇文章 id 都一样的情况下,index 是将第二篇文章覆盖第一篇;create 是在第二篇插入的时候抛出一个已经存在的异常
解释:
在批量请求的时候最好使用 create 方式进行导入。假如你批量导入一个大小为500MB 的文件,中途突然网络中断,可能其中有5万条数据已经导入,那么第二次尝试导入的时候,如果选用 index 方式,那么前5万条数据又会重复导入,增加了很多额外的开销,如果是 create 的话,elasticsearch 针对 bulk 操作机制是忽略已经存在的(当然在 bulk 完成后会返回哪些数据是重复的),这样就不会重复被导入了
以上是关于ElasticStack系列之十九 & bulk时 index 和 create 的区别的主要内容,如果未能解决你的问题,请参考以下文章
ElasticStack系列之十六 & ElasticSearch5.x index/create 和 update 源码分析
ElasticStack系列之十七 & 大文本搜索性能提升方案
ElasticStack系列之十五 & query cache 引起性能问题思考
ElasticStack系列之十一 & 同步 mysql 数据的实践与思考
ElasticStack系列之十四 & ElasticSearch5.x bulk update 中重复 id 性能骤降