完全更新文档而不创建(如果不存在)

扎诺纳

对于Elasticsearch,有没有什么方法可以完全(而不是部分)更新文档,并且在不存在的情况下不创建新文档?

到目前为止,我发现该_update方法doc在将json请求主体内的属性传递给部分更新文档的同时,在这种情况下,我想替换整个文档,而不仅仅是部分替换。

我还发现,index发送PUT请求方法可以正常工作,尽管在id尚未建立索引的情况下创建新文档

op_type参数设置create将强制执行文档创建,而不是更新。我想知道是否有任何方法可以始终执行,update而从来没有create新方法?

也许还有另一种方法可以让我完成这样的任务?

抽屉

如果我理解正确,您想为文档建立索引,但前提是该文档已经存在?喜欢的op_type选择update

假设您的映射保持一致,则大多数情况下都可以使用update API来完成。使用_update,如果文档不存在,则会返回404如果确实存在,ES将合并doc其中的任何文档的内容如果您确定要通过映射中的所有字段发送新文档,那么就可以有效地完全替换它。

但是请注意,您可以在两个请求中都不会非常有效地合并文档的情况下完成此操作。第一个通过HEAD请求检查文档是否存在如果HEAD /idx/type/id成功,则执行PUT无论如何,这本质上就是使用更新API内部发生的事情,但有一些额外的开销。但是HEAD确实很便宜,因为它不会拖曳任何有效负载。它只是返回HTTP 200/404。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果 MongoDB 中不存在用户名或电子邮件,则创建新文档

来自分类Dev

使用MongoDB更新文档,增加字段并将其设置为0(如果不存在)

来自分类Dev

如果MongoDB Javascript不存在,如何创建文档?

来自分类Dev

如果不存在字段,则更新MongoDB文档

来自分类Dev

更新多个对象,如果不存在则创建

来自分类Dev

Firestore创建文档(如果不存在),如果存在则跳过

来自分类Dev

如果文件不存在,如何通过触摸创建新文件?

来自分类Dev

如果Firestore中不存在文档,如何添加到数组并创建文档?

来自分类Dev

如果值不匹配,则更新文档

来自分类Dev

猫鼬更新了不存在的文档

来自分类Dev

检查文档是否存在,如果不存在则创建并添加数据Firebase

来自分类Dev

如果不存在,如何将更新的文件复制到新文件夹并创建目录作为源?

来自分类Dev

PostgreSQL中的“ IF EXISTS”-创建查询以更新记录(如果存在)并插入(如果不存在)

来自分类Dev

如何更新实体(如果存在)或创建(如果不存在)实体

来自分类Dev

如果存在则更新 SQL 行,如果不存在则创建(在 PHP 中)

来自分类常见问题

猫鼬-创建文档(如果不存在),否则,在两种情况下均会更新并返回文档

来自分类常见问题

如果Ruby不存在,则创建目录

来自分类Dev

如果记录不存在则创建

来自分类Dev

Netezza创建表(如果不存在)

来自分类Dev

PostgreSQL:如果不存在,则创建表

来自分类Dev

创建mysql表(如果不存在)

来自分类Dev

创建聚合(如果不存在)

来自分类Dev

附加或创建StringSet(如果不存在)

来自分类Dev

如果目录不存在,如何创建?

来自分类Dev

雄辩的:如果不存在则创建关系

来自分类Dev

HSQL:创建索引(如果不存在)

来自分类Dev

创建子对象(如果不存在)

来自分类Dev

Akka:如果不存在则创建演员

来自分类Dev

如果数据不存在,则更新错误

Related 相关文章

  1. 1

    如果 MongoDB 中不存在用户名或电子邮件,则创建新文档

  2. 2

    使用MongoDB更新文档,增加字段并将其设置为0(如果不存在)

  3. 3

    如果MongoDB Javascript不存在,如何创建文档?

  4. 4

    如果不存在字段,则更新MongoDB文档

  5. 5

    更新多个对象,如果不存在则创建

  6. 6

    Firestore创建文档(如果不存在),如果存在则跳过

  7. 7

    如果文件不存在,如何通过触摸创建新文件?

  8. 8

    如果Firestore中不存在文档,如何添加到数组并创建文档?

  9. 9

    如果值不匹配,则更新文档

  10. 10

    猫鼬更新了不存在的文档

  11. 11

    检查文档是否存在,如果不存在则创建并添加数据Firebase

  12. 12

    如果不存在,如何将更新的文件复制到新文件夹并创建目录作为源?

  13. 13

    PostgreSQL中的“ IF EXISTS”-创建查询以更新记录(如果存在)并插入(如果不存在)

  14. 14

    如何更新实体(如果存在)或创建(如果不存在)实体

  15. 15

    如果存在则更新 SQL 行,如果不存在则创建(在 PHP 中)

  16. 16

    猫鼬-创建文档(如果不存在),否则,在两种情况下均会更新并返回文档

  17. 17

    如果Ruby不存在,则创建目录

  18. 18

    如果记录不存在则创建

  19. 19

    Netezza创建表(如果不存在)

  20. 20

    PostgreSQL:如果不存在,则创建表

  21. 21

    创建mysql表(如果不存在)

  22. 22

    创建聚合(如果不存在)

  23. 23

    附加或创建StringSet(如果不存在)

  24. 24

    如果目录不存在,如何创建?

  25. 25

    雄辩的:如果不存在则创建关系

  26. 26

    HSQL:创建索引(如果不存在)

  27. 27

    创建子对象(如果不存在)

  28. 28

    Akka:如果不存在则创建演员

  29. 29

    如果数据不存在,则更新错误

热门标签

归档