前面向讀者介紹了Elasticsearch的安裝和基本配置,同時也向讀者介紹了Elasticsearch中的核心概念,相信讀者對Elasticsearch的使用已經有了一個初步的瞭解,接下來,向讀者介紹Elasticsearch中的REST命令,這是Elasticsearch提供的一整套強大的REST命令,來實現對集羣的操做。接下來向讀者詳細介紹這個東西。 node
本文是Elasticsearch系列的第二篇,閱讀前面的文章,有助於更好的理解本文:json
當節點和集羣啓動後,下一步就是要考慮如何與節點和集羣進行通訊,幸運的是,Elasticsearch提供了一個很是全面和強大的REST API,開發者利用這個REST API,能夠實現與集羣之間的交互。這一套REST API主要提供了以下幾個功能:app
上面向讀者介紹了Elasticsearch提供的REST API所具備的基本功能,接下來,咱們就來看看這些基本功能具體如何操做。curl
因爲是REST API,讀者可使用POST MAN,RESTClient等工具完成下面的測試,也能夠直接使用curl命令來完成下面的測試。對於一些簡單的如GET請求,也能夠直接在瀏覽器中完成測試。
使用以下命令能夠查看集羣健康信息:elasticsearch
curl -X GET "localhost:9200/_cat/health?v"
查看結果以下: 工具
從這個響應中,咱們能夠看到集羣的名稱,狀態,節點數,分片數等等,其中:學習
經過以下請求能夠查看節點的詳細信息:測試
curl -X GET "localhost:9200/_cat/nodes?v"
請求結果以下: url
能夠看到,咱們的節點名爲iFO7DC9
經過以下命令能夠查看全部索引:
curl -X GET "localhost:9200/_cat/indices?v"
請求結果以下:
從圖中能夠看到集羣中索引的信息。
接下來,經過以下命令,咱們能夠建立一個名爲customer的索引,並從新列出全部索引:
curl -X PUT "localhost:9200/customer?pretty" curl -X GET "localhost:9200/_cat/indices?v"
執行結果以下:
請求命令解釋:
經過以下請求能夠添加一個文檔:
curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d' { "name": "John Doe" }'
這個請求表示在customer中的_doc類型中添加一個文檔,文檔id爲1,該命令執行結果以下:
小貼士:
Elasticsearch中,並不強制要求顯式的建立索引,即前面案例中,若是開發者在添加文檔以前,尚未建立customer索引,那麼該文檔同樣也會建立成功的(此時索引會被自動建立)。
經過以下命令能夠獲取一個文檔,最後面的1表示獲取id爲1的文檔:
curl -X GET "localhost:9200/customer/_doc/1?pretty"
經過以下命令能夠刪除一個索引:
curl -X DELETE "localhost:9200/customer?pretty" curl -X GET "localhost:9200/_cat/indices?v"
DELETE請求能夠用來刪除一個索引,該命令執行結果以下:
能夠看到,customer索引已經被成功刪除了。
這裏向讀者介紹的索引操做都是很常規,很簡單的操做,後面會向讀者介紹複雜的索引操做。
另外,讀者總結上面的REST API格式,能夠發現,API格式爲:
curl -X <HTTP Verb> /<Index>/<Type>/<ID>
事實上,這個格式適用於全部的API,若是能記住它,對咱們後面的學習會有很大的幫助。
好了,本文就先介紹到這裏,有問題歡迎留言討論。