Elasticsearch Updating documents

在ES裡, 更新documents到index不是一件簡單的事情, 我們得在這裡留個心眼.

眾所皆知RESTful風格使用HTTP的動詞來進行所謂的Update, ES也是如此.

要注意到ES的更新有兩種方式

  • 整個docment更新(取代,覆蓋)
  • 根據某個field更新(count += 3, append字符串, 替數組增加元素, 刪除field)
//根據某個field更新$ curl -XPOST ‘localhost:9200/test/type1/1/_update‘ -d ‘{
    "script" : "ctx._source.counter += count",
    "params" : {
        "count" : 4
    }
}‘

通常我們會遇到要更新的某個field不存在, 那我們可以使用 upsert 來給定默認的值

$ curl -XPOST ‘localhost:9200/test/type1/1/_update‘ -d ‘{
    "script" : "ctx._source.counter += 1",
    "upsert" : {
        "counter" : 0
    }
}‘

Elasticsearch Updating documents,布布扣,bubuko.com

时间: 2024-12-21 16:21:06

Elasticsearch Updating documents的相关文章

ElasticSearch基础(2) - hello world

上一篇 ES基础(1) 官网原地址:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/_cluster_health.html ES权威指南: http://es.xiaoleilu.com/ 一.Exploring Your Cluster 1.1.Cluster Health 要检测集群的健康状况,需要使用_cat API curl 'localhost:9200/_cat/health?v' 我们可以发现集群ysz的状态

ElasticSearch for Modify your Data

一.Updating Documents This example shows how to update our previous document (ID of 1) by changing the name field to "Jane Doe": curl -XPOST '192.168.56.101:9200/customer/external/1/_update?pretty' -d ' { "doc":{"name":"J

[转]分布式搜索elasticsearch几个概念解析

Document 在Elasticsearch世界(或者Lucene世界中),Document是主要的实体,文档这个单词有特殊的含义.它指的是在Elasticsearch中被存储到唯一ID下的由最高级或者根对象 (root object )序列化而来的JSON.Elasticsearch的documents最终被存储为Lucene documents. 文档元数据 一个文档不只包含了数据.它还包含了元数据(metadata) —— 关于文档的信息.有三个元数据元素是必须存在的,它们是: 名字 说

ElasticSearch的部署、同步与调优

ElasticSearch是一个强大的搜索服务器,基于Apache Lucene的全文搜索引擎开发,具有高性能.分布式和零配置的优点.在当前的项目中,我们希望ES能承担亿级文档的搜索,而ES也证明了即便面对这样的数据规模,也能实现十分迅速的搜索响应. 概念 节点(Node):节点是一个ES的实例,一般一台主机上部署一个节点- 集群(Cluster):集群由若干节点组成,和任意节点的通信等价于和集群的通信 分片(Shard):一个索引会分成多个分片存储,分片数量在索引建立后不可更改 副本(Repl

MongoDB - MongoDB CRUD Operations, Update Documents

Update Methods MongoDB provides the following methods for updating documents in a collection: Method Description  db.collection.updateOne() Updates at most a single document that match a specified filter even though multiple documents may match the s

Java MongoDB Driver 3.x - Quickly Start

Maven Dependency: <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.2</version> </dependency> Make a Connection The following example shows five ways to conn

16.Update Methods-官方文档摘录

这里没什么好说的,直接贴文了 MongoDB provides the following methods for updating documents in a collection: db.collection.updateOne() Updates at most a single document that match a specified filter even though multiple documents may match the specified filter. New

lucene包结构

lucene 2.2包结构: analysis不做详细介绍,因为在实际开发中会使用对中文支持的庖丁分词来做为分词器. document:是写索引的时候的非常重要的一个工具,要把原始数据转为一个个document,然后进行write. index:写索引的核心包 queryParser:搜索时候的解析器. search:搜索的核心包 store:在写索引的时候,可以控制哪些field是要存储的... util:工具包. index: index的头注释: An <code>IndexWriter

局部更新document(partial updates to documents)

就像在Updating a whole document中所说的一样,更新document的步骤就是检索--修改--插入整个document.然而使用update,就能局部更新,就像在一个请求里增加一个计数器一样. 以前说过document是不可变的--不能被修改,只能被替换,update也必须遵守这个规则.在外部看来是局部更新的,在内部,update依然执行了检索--修改--重新插入这个流程.不同的是这个过程是发生在shard中,因此避免了多次网络请求的开销,通过减少检索和重新插入的时间,降低