更新api

get /customer/external/1

{
  "_index": "customer",
  "_type": "external",
  "_id": "1",
  "_version": 5,
  "found": true,
  "_source": {
    "name": "xxxx Doe"
  }
}



POST /customer/external/1/_update?pretty
{
  "doc": { "name": "Jane Doe" }
}

更新字段:
[elk@node01 api]$ cat a6.pl 
##发送消息
use  LWP::UserAgent; 
use LWP;
use Encode;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Headers;
use HTTP::Response;
use Encode;
use URI::Escape;
use URI::URL;
use JSON;
use Data::Dumper;
  my $ua = LWP::UserAgent->new;
     $ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");
  my $cookie_jar = HTTP::Cookies->new(
     file=>'lwp_cookies.txt',
     autosave=>1,
     ignore_discard=>1);
     $ua->cookie_jar($cookie_jar);  
   my $login_url ="http://192.168.137.2:9200/customer/external/1/_update?pretty";  
   my $post = {
           "doc"=>{"name" => "yyy Doe"}
        }  ;
    
    use JSON qw(encode_json);  
    $json_string = encode_json($post);  
  
    my $req = HTTP::Request->new(  
        'POST' => $login_url
    );  
    $req->content_type('application/json; charset=UTF-8')  
      ;    #post请求,如果有发送参数,必须要有这句  
    $req->content("$json_string");    #发送post的参数  
    my $res = $ua->request($req);  
    print $res->content();            #获取的是响应正文  
[elk@node01 api]$ perl a6.pl 
{
  "_index" : "customer",
  "_type" : "external",
  "_id" : "1",
  "_version" : 6,
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  }
}



更新字段在添加字段:

[elk@node01 api]$ cat a6.pl 
##发送消息
use  LWP::UserAgent; 
use LWP;
use Encode;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Headers;
use HTTP::Response;
use Encode;
use URI::Escape;
use URI::URL;
use JSON;
use Data::Dumper;
  my $ua = LWP::UserAgent->new;
     $ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");
  my $cookie_jar = HTTP::Cookies->new(
     file=>'lwp_cookies.txt',
     autosave=>1,
     ignore_discard=>1);
     $ua->cookie_jar($cookie_jar);  
   my $login_url ="http://192.168.137.2:9200/customer/external/1/_update?pretty";  
   my $post = {
           "doc"=>{"name" => "cuicuihuihui Doe","age"=>"9999"}
        }  ;
    
    use JSON qw(encode_json);  
    $json_string = encode_json($post);  
  
    my $req = HTTP::Request->new(  
        'POST' => $login_url
    );  
    $req->content_type('application/json; charset=UTF-8')  
      ;    #post请求,如果有发送参数,必须要有这句  
    $req->content("$json_string");    #发送post的参数  
    my $res = $ua->request($req);  
    print $res->content();            #获取的是响应正文  
[elk@node01 api]$ 


原文地址:https://www.cnblogs.com/hzcya1995/p/13349692.html