Elasticsearch RESTful API請求詳解

可以使用行命令 curl 通過9200端口與 Elasticsearch RESTful API 進行通信。

 

Elasticsearch RESTful API規範

例如,計算集羣中文件的數量,我們就可以使用:

      <1>     <2>                   <3>    <4>

curl -XGET 'http://localhost:9200/_count?pretty' -d '

{  <5>

    "query": {

        "match_all": {}

    }

}

詳細說明:

1.相應的 HTTP 請求方法 或者 變量 : GET, POST, PUT, HEAD 或者 DELETE

2.集羣中任意一個節點的訪問協議、主機名以及端口。

3.請求的路徑。

4.任意一個查詢後再加上 ?pretty 就可以生成 更加美觀 的JSON反饋,以增強可讀性。

5.一個 JSON 編碼的請求主體(如果需要的話)。

 

Elasticsearch將會返回一個 HTTP 狀態碼類似於 '200 OK',以及一個 JSON 格式的主體(除了單純的 'HEAD' 請求),上面的請求會得到下方的 JSON 主體:

 

{

    "count" : 0,

    "_shards" : {

        "total" : 5,

        "successful" : 5,

        "failed" : 0

    }

}

在反饋中,我們並沒有看見 HTTP 的頭部信息,因爲我們沒有告知 curl 顯示這些內容。

 

如果你想看到頭部信息,可以在使用 curl 命令的時候再加上 -i 這個參數:

curl -i -XGET 'localhost:9200/'

 

從現在開始,本書裏所有涉及 curl 命令的部分我們都會進行簡寫,因爲主機、端口等信息都是相同的,縮減前的樣子:

 

curl -XGET 'localhost:9200/_count?pretty' -d '

{

    "query": {

        "match_all": {}

    }

}'

我們將會簡寫成這樣:

 

GET /_count

{

    "query": {

        "match_all": {}

    }

}

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