ElasticSearch for Modify your Data

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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":"Jane Doe"}

}‘

This example shows how to update our previous document (ID of 1) by changing the name field to "Jane Doe" and at the same time add an age field to it:

curl -XPOST ‘192.168.56.101:9200/customer/external/1/_update?pretty‘ -d ‘

{

"doc":{"name":"Jane Doe","ages":20}

0}‘

Elasticsearch支持通过脚本修改文档信息

curl -XPOST ‘192.168.56.101:9200/customer/external/1/_update?pretty‘ -d ‘ {  "script" : "ctx._source.ages += 5" }‘

OR

curl -XPOST ‘192.168.56.101:9200/customer/external/1/_update?pretty‘ -d ‘

{

 "script": {

     "inline":{ctx._source.ages+=age},

     "params":{

      "age":20     

}   

}

}‘

除了_source字段,可以通过ctx来获得_index、_type、_id、_version、_parent、_timestamp、_ttl等字段信息

也可以利用srcipt添加字段信息

curl -XPOST ‘192.168.56.101:9200/customer/external/1/_update?pretty‘ -d  ‘

{

  "script":"ctx._source.name_of_new_field=\"value_of_new_field\""

}‘

也可以利用srcipt移除字段信息

curl -XPOST ‘192.168.56.101:9200/customer/external/1/_update?pretty‘ -d ‘

{

  "script":"ctx._source.remove(\"name_of_field\")"

}‘


二、Delting Documents

Deleting a document is fairly straightforward. This example shows how to delete our previous customer with the ID of 2

curl -XDELETE ‘192.168.56.101:9200/customer/external/2?pretty‘

三、Batch Processing

As a quick example, the following call indexes two documents (ID 1 - John Doe and ID 2 - Jane Doe) in one bulk operation:

curl -XPOST ‘localhost:9200/customer/external/_bulk?pretty‘ -d ‘
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
‘

This example updates the first document (ID of 1) and then deletes the second document (ID of 2) in one bulk operation:

curl -XPOST ‘localhost:9200/customer/external/_bulk?pretty‘ -d ‘
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}


以上是关于ElasticSearch for Modify your Data的主要内容,如果未能解决你的问题,请参考以下文章

Alter table modify enum in Knex js for Postgresql 给出错误

elasticsearch for windows为啥不能创建索引

Install elasticsearch-head: – for Elasticsearch 5.x

Elasticsearch Exception:Message not fully read (response) for requestId

给Elasticsearch 5.2.2 设置用户权限 how to setting security for elasticsearch on windows

ElasticsearchResizing Elasticsearch shards for fun and profit