1. 程式人生 > >Elasticsearch安裝和使用

Elasticsearch安裝和使用

1. window安裝Elasticsearch

1.前提條件

要理解本教程的所有示例,需要在您的系統上安裝 Elasticsearch。下載針對您的平臺的 最新 Elastic Search 程式包。將該包解壓到一個方便的位置。在 Windows 上,通過以下命令啟動該例項:

在 Windows 上進入es解壓目錄,執行./elasticsearch.bat 執行成功如下 (注意:執行需要jdk1.8及以上)
這裡寫圖片描述

2.使用 cURL 執行 REST 命令
在 Microsoft Windows 上,我使用 Git Bash shell 來執行 curl。

建立一個索引

Elasticsearch 命令的一般格式是:REST VERBHOST:9200/index/doc-type— 其中 REST VERB 是 PUT、GET 或 DELETE。(使用 cURL -X 動詞字首來明確指定 HTTP 方法。)

要建立一個索引,可在您的 shell 中執行以下命令:

插入一個文件

要在 /music 索引下建立一個型別,可插入一個文件。在第一個示例中,您的文件包含資料(包含一行)“Deck the Halls” 的歌詞,這是一首最初由威爾士詩人 John Ceirog Hughes 於 1885 年編寫的傳統的聖誕歌曲。

要將包含 “Deck the Halls” 的文件插入索引中,可執行以下命令(將該命令和本教程的其他 cURL 命令都鍵入到一行中):

 curl -XPUT "http://localhost:9200/music/songs/1" -d 
 '{ "name": "Deck the Halls", "year": 1885, "lyrics": "Fa la la la la" }'

執行以上命令可能出現異常錯誤:
{“error”:”Content-Type header [application/x-www-form-urlencoded] is not supported”,”status”:406}

這是因為沒有指定內容的格式導致 因此需要在命令裡面指定header 命令改為:

 curl -H "Content-Type: application/json" -XPUT 
 "http://localhost:9200/music/songs/1" -d 
 '{"name":"Deck the Halls","year":1885,"lyrics":"Fa la la la la"}'

再次執行 成功 並返回成功資訊

 {"_index":"music","_type":"songs","_id":"2",
 "_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

<—– 注意—–>

這裡的music為索引 而songs為型別 一個索引下面只能為一個型別

下面的命令可以列出每個 Index 所包含的 Type

curl 'localhost:9200/_mapping?pretty=true'

檢視文件

要檢視該文件,可使用簡單的 GET 命令:

 curl -XGET "http://localhost:9200/music/songs/1"

Elasticsearch 使用您之前 PUT 進索引中的 JSON 內容作為響應:

 {"_index":"music","_type":"songs","_id":"1","_version":1,
 "found":true,"_source":{ "name": "Deck the Halls", "year": 1885, "lyrics": "Fa la la la la" }}

更新文件

es的更新命令和插入命令一致

 curl -H "Content-Type: application/json" 
 -XPUT "http://localhost:9200/music/songs/1" -d 
 '{"name":"Deck the Halls","year":  1886,"lyrics":"Fa la la la la" }'

這裡指出了需要更新的文件的id因此會返回 更新成功。

{"_index":"music","_type":"songs","_id":"2","_version":2,
"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1}

刪除文件##

刪除文件使用 -XDELETE

curl -XDELETE "http://localhost:9200/music/songs/1"

返回資訊:

{"_index":"music","_type":"songs","_id":"1","_version":3,
"result":"deleted","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":1}

檢視索引

curl -X GET 'http://localhost:9200/_cat/indices?v'

這裡寫圖片描述

    curl -X POST "http://localhost:9200/music/_open"   開啟索引   關閉索引 (_close)

    curl -X GET 'http://localhost:9200/_cat/indices?v'  檢視索引

    curl 'localhost:9200/_mapping?pretty=true'    列出每個 Index 所包含的 Type

    curl 'localhost:9200/accounts/person/_search'   檢視某個索引下全部記錄