es RESTful 插入数据和更新数据

1,739 阅读1分钟

插入数据

这条语句是插入一个 doc ,内容就 guid 、address 、name 、scale_type 四个字段,仿照语句根据自己的逻辑书写即可,“-u 你的账号:你的密码” 这个前提是账号密码,如果没有可以省去。

curl -H "Content-Type: application/json" -u 你的账号:你的密码  -XPOST 'http://你的 ES 的 ip:9200/xihu_police_address/_doc' -d'{ 
"guid" : "f3c1a2d2-7608-485a-8c47-72057306b508", 
"address" : "浙江省杭州市西湖区三墩镇三坝社区三坝雅苑", 
"name" : "三坝雅苑", 
"scale_type" :"subdistrict"}';

更新数据

这条语句是通过查找 address 中包含 “紫金名门” 字段的数据,然后将其中的 “锦绣社区” 改为 “庙前街社区” ,“-u 你的账号:你的密码” 同理如上。

curl -XPOST -H "Content-Type: application/json" -u 你的账号:你的密码 'http://你的 ES 的 ip :9200/xihu_police_address/_update_by_query?pretty' -d '{
"script": {
"lang":"painless",
"source":  "def a=ctx._source[\"address\"].indexOf(\"锦绣社区\");def sec=ctx._source[\"address\"].substring(0,a);ctx._source[\"address\"]=sec+\"庙前街社区\"+ctx._source[\"address\"].substring(a+4)"
  },
  "query": {
    "match_phrase": {
      "address": "紫金名门"
    }
  }
}';