当前位置: 首页 > 面试题库 >

Elasticsearch删除/更新index1和index2中的文档

缪成天
2023-03-14
问题内容

如果我有两个索引,例如:sample1和sample2。如果我删除或更新了sample1中的值,那么相应的文档也应该在sample2中删除或更新吗?

数据:sample1:{名称:’Tom’,id:‘1’,城市:’xx’,州,’yy’,国家/地区:’zz’}
sample2:{id:‘1’,城市:’xx’,州,“ yy”,国家/地区:“ zz”}如果我删除id:“
1”,则应该从服务器端本身的两个索引中删除此文档。这该怎么做
?问题将是,如果我删除值separatley,那么如果我从一个索引中删除了值后又陷入网络问题,另一个索引将具有值,该如何避免呢?


问题答案:

您可以使用批量API来执行此操作,并且由于所有操作都在单个网络调用中发生,因此,您可以更好地保证删除/更新操作成功或失败:

要删除两个不同索引的两个文档:

POST _bulk
{"delete": {"_index": "index1", "_type": "type1", "_id": "1"}}
{"delete": {"_index": "index2", "_type": "type2", "_id": "1"}}

要更新两个不同索引中的两个文档:

POST _bulk
{"index": {"_index": "index1", "_type": "type1", "_id": "1"}}
{"name": "Tom", id: "1", "city": "xx", "state": "yy", "country": "zz"}
{"index": {"_index": "index2", "_type": "type2", "_id": "1"}}
{"id": "1", "city": "xx", "state": "yy", "country": "zz"}

更新

在讨论了这一点之后,似乎需要的解决方案是混合使用

  • 在删除逐个查询API(不要忘了安装插件,如果你是在ES 2.x的)用于删除多个索引相匹配的国家文件
  • 以及用于通过多个索引更新文档的按查询更新API。


 类似资料:
  • 本文向大家介绍详细描述一下 Elasticsearch 更新和删除文档的过程。相关面试题,主要包含被问及详细描述一下 Elasticsearch 更新和删除文档的过程。时的应答技巧和注意事项,需要的朋友参考一下 1、删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更; 2、磁盘上的每个段都有一个相应的.del 文件。当删除请求发送后,文

  • 利用UPDATE和DELETE语句进行操作表数据。 更新数据 UPDATE用来更新修改表中的数据 更新表中特定的行 更新表中所有行 注意: 如果省略了WHERE子句,就会更新所有行。 UPDATE语句有三个部分组合 要更新的表 列名和他们的新值 确定要更新哪些行的过滤条件 mysql> UPDATE Customers -> SET cust_email = '[email protect

  • 本文向大家介绍MongoDB的创建、更新和删除,包括了MongoDB的创建、更新和删除的使用技巧和注意事项,需要的朋友参考一下 概要   下面开始学习MongoDB最重要也是最基础的部分:C(创建)R(查询)U(更新)D(删除);由于R(查询)操作相对来说内容比较多,也比较繁琐,   同时使用频率也比较高,所以下一篇会拿出来单独介绍。废话不多说,连上服务器,我们直接进入正题! 一、创建   按照我

  • 问题内容: 有什么方法可以使用Logstash和csv文件从ElasticSearch删除文档?我阅读了Logstash文档,却一无所获,并尝试了一些配置,但是使用操作“删除”却没有任何反应 有人尝试过吗?我应该在配置的输入和过滤器部分添加一些特殊的东西吗?我使用文件插件作为输入,使用csv插件作为过滤器。 问题答案: 绝对可以按照您的建议去做,但是如果您使用的是Logstash 1.5,则需要使

  • 问题内容: 该代码按预期工作。但是,我不想更新第三个国家作为另一个文档,而是要更新第一个文档。 这样,文档ID 1将有3个国家:印度,中国和巴基斯坦。我想我需要使用doc_as_upsert参数更新API。但是我不确定如何编写JSON。 问题答案: 您可以使用update API 进行脚本更新: 更新 如果要在批量查询中使用它,也可以

  • 问题内容: 我需要在所有索引到Elasticsearch的文档中删除一个字段。我该怎么做。任何删除查询都可以帮助我实现这一点。 问题答案: @backtrack所说的是对的,但是在Elasticsearch中有一种非常方便的方法。Elasticsearch将抽象出删除的内部复杂性。您需要使用更新API来实现- 您可以在此处找到更多文档。 注意:从Elastic Search 6开始,您需要包括一个