Elasticsearch Document Update API详解、原理与示例,nginx高可用架构

本文深入解析了Elasticsearch的Document Update API,包括Script脚本更新、部分字段更新、检测空更新(noop检测)和 Upsert 操作。介绍了核心参数如retry_on_conflict、routing等,并提供了Java API的使用示例,展示了常规更新、noop检测及不开启noop时的更新效果。
摘要由CSDN通过智能技术生成
  • private String id :文档ID,所谓的文档,类似于关系数据库的行,id,类似于关系数据库的主键ID。

  • private String routing:分片值,默认为id的值,elasticsearch的分片路由算法为( hashcode(routing) % primary_sharding_count(主分片个数) )。

  • private String parent:

  • Script script:通过脚步更新文档。

  • private String[] fields:指定更新操作后,需要返回的文档的字段信息,默认为不返回,已废弃,被fetchSourceContext取代。

  • private FetchSourceContext fetchSourceContext:执行更新操作后,如果命中,需要返回_source的上下文配置,与fields的区别是fetchSourceContext支持通配符表达式来匹配字段名,其详细已经在《Elasticsearch Document Get API详解、原理与示例》中详细介绍过。

  • private long version = Versions.MATCH_ANY:版本号。

  • private VersionType versionType = VersionType.INTERNAL:版本类型,分为内部版本、外部版本,默认为内部版本。

  • private int retryOnConflict = 0:更新冲突时重试次数。

  • private RefreshPolicy refreshPolicy = RefreshPolicy.NONE:刷新策略。NONE:代表不重试;

  • private ActiveShardCount waitForActiveShards = ActiveShardCount.DEFAULT:执行操作之前需要等待激活的副本数,已在《Elasticsearch Document Get API详解、原理与示例》中详细介绍。

  • private IndexRequest upsertRequest:使用该 字段进行更新操作,如果原索引不存在,则更新,类似于saveOrUpdate操作,该操作需要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值