基於HTTP協議,以JSON為資料互動格式的RESTful API。
阿新 • • 發佈:2019-01-05
向Elasticsearch發出的請求的組成部分與其他普通的HTTP請求是一樣的:
curl -X<VERB> '<PROTOCOL>://<HOST>/<PORT>?<QUERY_STRING>' -d '<BODY>'
- VERB HTTP方法:GET、POST、PUT、HEAD、DELETE
- PROTOCOL http或者https協議(只有在Elasticsearch前面有https代理的時候可用)
- HOST Elasticsearch叢集中的任何一個節點的主機名,如果是在本地的節點,那麼就叫localhost
- PORT Elasticsearch HTTP服務所在的埠,預設為9200
- QUERY_STRING 一些可選的查詢請求引數,例如?pretty引數將使請求返回更加美觀易讀的JSON資料。
- BODY 一個JSON格式的請求主體(如果請求需要的話)
舉例說明,為了計算叢集中的文件數量,我們可以這樣做:
curl -XGET 'http://localhost:9200/_count?pretty' -d '
{
"query" : {
"match_all" : {}
}
}
'
Elasticsearch返回一個類似 “200 OK”的HTTP狀態碼和JSON格式的響應主體(除了HEAD請求)。上面的請求會得到如下的JSON格式的響應主體:
{
"count" : 0 ,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
}
}
我們看不到HTTP頭是因為我們沒有讓curl顯示它們,如果要顯示,使用curl命令後跟-i引數:
curl -i -XGET 'localhost:9200'