為了方便直觀我們使用Head插件提供的接口進行演示,實際上內部調用的RESTful接口。

RESTful接口URL的格式:
http://localhost:9200/<index>/<type>/[<id>]
其中index、type是必須提供的。
id是可選的,不提供es會自動生成。
index、type將信息進行分層,利於管理。
index可以理解為數據庫;type理解為數據表;id相當於數據庫表中記錄的主鍵,是唯一的。
索引文檔的創建
將如下一條歌曲信息的數據提交到ES中創建索引:
- url:http://127.0.0.1:9200/song001/list001/1
- data:{"number":32768,"singer":"楊坤","size":"5109132","song":"今夜二十歲","tag":"中國好聲音","timelen":319}

索引名字是:song001;
索引的類型是:list001;
本記錄的id是:1
返回的信息可以看到創建是成功的,並且版本號是1;ES會對記錄修改進行版本跟蹤,第一次創建記錄為1,同一條記錄每修改一次就追加1。
至此一條記錄就提交到ES中建立了索引,注意HTTP的方法是PUT,不要選擇錯了。
索引文檔的查詢
根據索引時的ID查詢的文檔的RESTful接口如下
url:http://127.0.0.1:9200/song001/list001/1
HTTP方法采用GET的形式。

索引文檔的更新
根據索引時的ID更新的文檔的內容其RESTful接口如下
url:http://127.0.0.1:9200/song001/list001/1
HTTP方法采用PUT的形式。
將歌手名由“楊坤”改成“楊坤獨唱”;
結果中的version字段已經成了2,因為我們這是是修改,索引版本遞增;created字段是false,表示這次不是新建而是更新。
更新接口與創建接口完全一樣,ES會查詢記錄是否存在,如果不存在就是創建,存在就是更新操作。

索引文檔的刪除
根據索引時的ID更新的文檔的內容其RESTful接口如下
url:http://127.0.0.1:9200/song001/list001/1
HTTP方法采用DELETE的形式。
刪除過后,再通過查詢接口去查詢將得不到結果。

總結:
增刪改查的RESTful接口URL形式:http://localhost:9200/<index>/<type>/[<id>]
