当前位置:  开发笔记 > 数据库 > 正文

Elasticsearch批量API - 索引与创建/更新

如何解决《Elasticsearch批量API-索引与创建/更新》经验,为你挑选了2个好方法。

我正在使用Elasticsearch Bulk API来创建或更新文档.

我确实知道它们是创建还是更新,但我可以通过简单地将它们全部化index,或者在SQL意义上"upserts" 来简化我的代码.

使用index(并让ES弄清楚)使用更明确的createupdate



1> Val..:

如果您要发送create,则必须确保文档在索引中尚不存在,否则调用将失败,而发送相同文档index将始终成功.

然后,如果出于性能原因,您知道您将创建一个文档(使用create或者index),然后您只更新几个属性,那么使用update可能有意义.

否则,如果您总是发送完整的文档,我会一直使用它index来创建和更新.每当它看到一个index动作时,ES将创建文件(如果它不存在)或替换它(如果它存在),但该调用将始终成功.


另外,Index API不支持脚本更新,因此,如果要使用脚本,则必须使用Update API。Update API不支持外部版本,因​​此如果要使用外部版本控制,则必须使用Index API。

2> Jettro Coenr..:

简短的回答:没有缺点.

创建和更新端点是特殊情况.使用create,如果文档已经存在,则您无需执行任何操作.如果您没有文档的所有数据,只需添加一些字段,通过更新,您可以提供更少的数据.您还可以确保文档仅在已经存在更新的情况下编制索引.

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