# 1、RESTful接口格式
ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口
URL的格式:http://localhost:9200/<index>/<type>/[<id>]
其中index、type是必須提供的。
id是可選的,不提供es會自動生成。
index、type將信息進行分層,利于管理。
index可以理解為數據庫;type理解為數據表;id相當于數據庫表中記錄的主鍵,是唯一的。
# 2、HTTP客戶端
操作REST API常用的有通過CRUL命令,Chrome Sense插件,httpie,kibana中的Dev Tools,head等,下面主要介紹CRUL命令、kibana中的Dev Tools工具和head
## Dev Tools
```
GET _search
{
"query" : {
"match_all" : {}
}
}
```

## head

# 3、索引文檔的crud
格式:http://127.0.0.1:9200/<index>/<type>/id

# 4 查看所有索引和集群

可以看到集群的名字是默認的"elasticsearch",集群的狀態時"green"。
1 、綠色,最健康的狀態,代表所有的分片包括備份都可用
2 、黃色,基本的分片可用,但是備份不可用(也可能是沒有備份)
3 、紅色,部分的分片可用,表明分片有一部分損壞。此時執行查詢部分數據仍然可以查到,遇到這種情況,還是趕快解決比較好。
當使用elasticsearch作為集群名字時,會使用單播,查詢本機上是否還運行著其他的節點。如果有,則組成一個集群。
(如果使用其他的名字作為集群名字,那么就可能采用多播了!這個在工作中,經常會遇到,大家使用的是一個集群名字,分片總是被搞在一起,導致有人的機器下線后,自己的也無法使用)
# 常用命令
## ELasticsearch集群已經啟動并且正常運行
http://127.0.0.1:9200/?pretty
## 計算集群中的文檔數量
curl -XGET http://127.0.0.1:9200/_count?pretty -d "{\"query\": {\"match_all\": {} }}"
##