请求体方式请求elasticsearch

来源:互联网 发布:液晶屏参数查询软件 编辑:程序博客网 时间:2024/06/18 00:06
下面是使用使用请求body 方法:GET /test/_search{  "query": { "match_all": {} },  "sort": [    { "account_number": "asc" }       ],  "fields":  [ "account_number", "firstname", "lastname" ]}{  "took": 4,  "timed_out": false,  "_shards": {    "total": 5,    "successful": 5,    "failed": 0  },  "hits": {    "total": 6,    "max_score": null,    "hits": [      {        "_index": "test",        "_type": "account",        "_id": "1",        "_score": null,        "fields": {          "account_number": [            1          ],          "firstname": [            "Amber"          ],          "lastname": [            "Duke"          ]        },        "sort": [          1        ]      },      {        "_index": "test",        "_type": "account",        "_id": "6",        "_score": null,        "fields": {          "account_number": [            6          ],          "firstname": [            "Hattie"          ],          "lastname": [            "Bond"          ]        },        "sort": [          6        ]      },      {        "_index": "test",        "_type": "account",        "_id": "13",        "_score": null,        "fields": {          "account_number": [            13          ],          "firstname": [            "Nanette"          ],          "lastname": [            "Bates"          ]        },        "sort": [          13        ]      },      {        "_index": "test",        "_type": "account",        "_id": "18",        "_score": null,        "fields": {          "account_number": [            18          ],          "firstname": [            "Dale"          ],          "lastname": [            "Adams"          ]        },        "sort": [          18        ]      },      {        "_index": "test",        "_type": "account",        "_id": "20",        "_score": null,        "fields": {          "account_number": [            20          ],          "firstname": [            "Elinor"          ],          "lastname": [            "Ratliff"          ]        },        "sort": [          20        ]      },      {        "_index": "test",        "_type": "account",        "_id": "99",        "_score": null,        "fields": {          "account_number": [            99          ],          "firstname": [            "Amber"          ],          "lastname": [            "Duke"          ]        },        "sort": [          99        ]      }    ]  }}利用perl 实现:[elk@node01 api]$ cat a10.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/test/_search";     my $post ={  "query" => { "match_all" => {} },  "sort" => [    { "account_number" => "asc" }       ],  "fields" =>  [ "account_number", "firstname", "lastname" ]};                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()."\n";            #获取的是响应正文  {"took":5,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":6,"max_score":null,"hits":[{"_index":"test","_type":"account","_id":"1","_score":null,"fields":{"account_number":[1],"firstname":["Amber"],"lastname":["Duke"]},"sort":[1]},{"_index":"test","_type":"account","_id":"6","_score":null,"fields":{"account_number":[6],"firstname":["Hattie"],"lastname":["Bond"]},"sort":[6]},{"_index":"test","_type":"account","_id":"13","_score":null,"fields":{"account_number":[13],"firstname":["Nanette"],"lastname":["Bates"]},"sort":[13]},{"_index":"test","_type":"account","_id":"18","_score":null,"fields":{"account_number":[18],"firstname":["Dale"],"lastname":["Adams"]},"sort":[18]},{"_index":"test","_type":"account","_id":"20","_score":null,"fields":{"account_number":[20],"firstname":["Elinor"],"lastname":["Ratliff"]},"sort":[20]},{"_index":"test","_type":"account","_id":"99","_score":null,"fields":{"account_number":[99],"firstname":["Amber"],"lastname":["Duke"]},"sort":[99]}]}}