Elasticsearch 字段更新机制

这篇具有很好参考价值的文章主要介绍了Elasticsearch 字段更新机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

不支持原地更新

更新过程

段合并(Segment Merge)

结论


不支持原地更新

    Elasticsearch 不支持原地更新(in-place update)索引中的单个字段。由于 Elasticsearch 使用了不可变的倒排索引,一旦文档被写入,它就不能被修改。

更新过程

  当需要更新文档中的一个或多个字段时,Elasticsearch 实际上执行以下步骤:

 1. 检索现有文档

  Elasticsearch 首先根据文档的 _id 查找到需要更新的文档。

 2. 创建新文档

   然后,Elasticsearch 创建一个新的文档版本,这个新版本包含了原始文档的内容以及所做的更新。

 3. 删除旧文档

   新文档被索引后,旧的文档被标记为删除,但实际上并不会立即从物理存储中移除。这些被标记为删除的文档在后续的段合并(segment merge)过程中会被清理。

 4. 索引新文档

   新文档随后被添加到索引中,这样搜索操作就能够检索到最新版本的文档。

段合并(Segment Merge)

     Elasticsearch 定期执行段合并,以维护索引的健康状态和性能。在这个过程中,多个小的段(segments)会合并成更大的段,同时清除已删除文档的数据。

结论

   在 Elasticsearch 中,更新字段实际上是通过检索重建并重新索引文档的过程完成的而不是原地直接修改单个字段。这种机制确保了索引的不可变性,但也意味着更新操作比简单的字段修改要复杂和代价更高。了解这一点对于优化 Elasticsearch 的使用和性能至关重要。文章来源地址https://www.toymoban.com/news/detail-806313.html

到了这里,关于Elasticsearch 字段更新机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • es elasticsearch kibana 根据 id 只更新部分字段

    官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#_update_part_of_a_document 给自己记录一下: 其中 test 是索引名,需要根据实际情况替换。_update 是固定值,表示更新文档。1 是想要更新文档的主键,根据实际情况替换。 “doc” 是固定值,“my_field_name” 是被

    2024年02月13日
    浏览(43)
  • Elasticsearch:自动使用服务器时间设置日期字段并更新时区

    在大多数情况下,你的数据包含一个以 create_date 命名的字段。 即使没有日期字段,处理各种格式和时区的日期对数据仓库来说也是一个重大挑战。 与此类似,如果要检测变化的数据,则必须准确设置日期字段。 在 Elasticsearch 中还有一个选项可以自动将服务器的日期设置为字

    2024年02月08日
    浏览(55)
  • Elasticsearch更新指定字段操作_update_by_query

    MYSQL语句:update index_name set name = ‘wb’ where id = ‘20132112534’; MYSQL语句:update index_name set name = ‘wb’ where (a_time - b_time = 100000) MYSQL语句:update index_name set sort_time = update_time where sort_time is null;

    2024年02月11日
    浏览(38)
  • ElasticSearch搜索引擎:数据的写入流程

    (1)ES 客户端选择一个节点 node 发送请求过去,这个节点就是协调节点 coordinating node  (2)协调节点对 document 进行路由,通过 hash 算法计算出数据应该落在哪个分片 shard 上,然后根据节点上维护的 shard 信息,将请求转发到对应的实际处理节点node上 shard = hash(document_id) %

    2023年04月14日
    浏览(64)
  • 搜索引擎(大数据检索)论述[elasticsearch原理相关]

    首先需要大致知道搜索引擎有大致几类:1.全文搜索引擎 2.垂直搜索引擎 3.类目搜索引擎等。 1.全文搜索引擎:是全文本覆盖的,百度,google等都是全文本搜索,就是我搜一个词项“方圆”,那么这个词项可以是数字平方的概念,可以是一个人名,可以是一首歌等,所有的相

    2023年04月08日
    浏览(52)
  • 基于Elasticsearch与Hbase组合框架的大数据搜索引擎

    本项目为学校大数据工程实训项目,共开发4周,答辩成绩不错。代码仓库放文章尾,写的不好,代码仅供参考。 对于结构化数据 ,因为它们具有特定的结构,所以我们一般都是可以通过关系型数据库(MySQL,Oracle 等)的二维表(Table)的方式存储和搜索,也可以建立索引。

    2024年02月09日
    浏览(63)
  • elasticsearch(ES)分布式搜索引擎04——(数据聚合,自动补全,数据同步,ES集群)

    **聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近

    2024年02月08日
    浏览(47)
  • 微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群 Sentinel

    聚合(aggregations)可以让我们极其 方便的实现对数据的统计、分析、运算 。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些 统计功能的比数据库的sql要方便的多,而且查询速度非常快 ,可以实现近

    2024年02月11日
    浏览(49)
  • elasticsearch删除脏数据(根据指定字段删除数据)

    es中出现几条脏数据,现在要把这几条数据直接删掉 找到要删除的脏数据,一般是根据id之类的字段来删除,因为id具有唯一性,其实和mysql差不多 1、先查到该条记录(注意我们这边使用的是 ticketId字段,因为他具有唯一性,方便查询) 返回结果 2、接下来就把 ticketId 为 fd

    2024年02月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包