5. Elastisearch API CURD操作

来源:互联网 发布:mysql删除库的所有表 编辑:程序博客网 时间:2024/06/03 06:40
5. Elastisearch API CURD操作shards: 碎片replicas 备份片数量CURL -XPUT 'http://192.168.1.10:9200/library/' -d '{    "settings": {        "index": {                "number_of_shards": 5,                "number_of_replicas": 1        }    }}'library:索引名称PUT http://192.168.137.2:9200/library/{ "settings": {     "index": {         "number_of_shards": 5,         "number_of_replicas": 1       }}}返回:{  "acknowledged": true}索引信息:{    "state": "open",    "settings": {        "index": {            "creation_date": "1495520852452",            "number_of_shards": "5",            "number_of_replicas": "1",            "uuid": "QP0uOey4RBKSnqwwZFgkSA",            "version": {                "created": "2030499"            }        }    },    "mappings": { },    "aliases": [ ]}利用perl api创建:##发送消息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/czcb";     my $post = {          settings => {           index=>{          "number_of_shards"=> 5,          "number_of_replicas"=>1          }        }      };      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();            #获取的是响应正文  获取索引信息:GET http://192.168.137.2:9200/library/{  "library": {    "aliases": {},    "mappings": {},    "settings": {      "index": {        "creation_date": "1495520852452",        "number_of_shards": "5",        "number_of_replicas": "1",        "uuid": "QP0uOey4RBKSnqwwZFgkSA",        "version": {          "created": "2030499"        }      }    },    "warmers": {}  }}perl 通过api操作:use  LWP::UserAgent;   my $ua = LWP::UserAgent->new;  $ua->timeout(10);  $ua->env_proxy;  $ua->agent("Mozilla/8.0");  my $host = "http://192.168.137.2:9200/library/";  my $response = $ua->get($host);     $ua->default_headers;    if ($response->is_success) {        print $response->decoded_content;  # or whatever     }      else {      die $response->status_line;  } C:\Users\TLCB\Desktop\elk\Elasticsearch Api>perl get1.pl{"library":{"aliases":{},"mappings":{},"settings":{"index":{"creation_date":"1495520852452","number_of_shards":"5","number_of_replicas":"1","uuid":"QP0uOey4RBKSnqwwZFgkSA","version":{"created":"2030499"}}},"warmers":{}}}C:\Users\TLCB\Desktop\elk\Elasticsearch Api>#----------------------------------------# 创建一个索引#       ---- 索引名称#       |#       |     Type 名称#       |     |#       |     |    文档ID#       |     |    |#       V     V    VPUT /library/books/2{  "title": "Elasticsearch: The Definitive Guide007",  "name" : {    "first" : "Zachary",    "last" : "Tong"  },  "publish_date":"2015-02-06",  "price":"49.99"}/********************************************************PUT /library/books/2{  "title": "Elasticsearch: The Definitive Guide007",  "name" : {    "first" : "Zachary",    "last" : "Tong"  },  "publish_date":"2015-02-06",  "price":"49.99"}{  "_index": "library",  "_type": "books",  "_id": "2",  "_version": 1,  "_shards": {    "total": 2,    "successful": 1,    "failed": 0  },  "created": true}使用perl api创建use  LWP::UserAgent;   my $ua = LWP::UserAgent->new;  $ua->timeout(10);  $ua->env_proxy;  $ua->agent("Mozilla/8.0");  my $host = "http://192.168.137.2:9200/library/books/2";  my $response = $ua->get($host);     $ua->default_headers;    if ($response->is_success) {        print $response->decoded_content;  # or whatever     }      else {      die $response->status_line;  } {"_index":"library","_type":"books","_id":"2","_version":1,"found":true,"_source":{  "title": "Elasticsearch: The Definitive Guide007",  "name" : {    "first" : "Zachary",    "last" : "Tong"  },  "publish_date":"2015-02-06",  "price":"49.99"}}##发送消息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/zhou/books/2";     my $post = {           "title"=>"testtesttest",              "user" => "kimchy",    "post_date" => "2009-11-15T14:12:12",    "message" => "trying out Elasticsearch999999"        }  ;        use JSON qw(encode_json);      $json_string = encode_json($post);        my $req = HTTP::Request->new(          'PUT' => $login_url    );      $req->content_type('application/json; charset=UTF-8')        ;    #post请求,如果有发送参数,必须要有这句      $req->content("$json_string");    #发送post的参数      my $res = $ua->request($req);      print $res->content();            #获取的是响应正文  

原创粉丝点击