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"}}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章