ElasticSearch搜尋引擎(一:es安裝及增刪改)
ElasticSearch下載地址:https://www.elastic.co/cn/downloads/elasticsearch
es是一個使用java編寫的開源專案,所以需要jdk環境支援(且jdk版本須在1.8以上),安裝方式簡單粗暴,通過上方地址下載完壓縮包後直接解壓,進入bin目錄執行elasticsearch.bat或elasticsearch.sh指令碼即可執行搜尋引擎。下面只是簡單介紹下如何使用restful的API對文件進行增刪改(es是面向文件程式設計)。
首先需要明白es的幾個名詞概念:
es的資料儲存格式為_index/_type/_id,你可以理解為關係型資料庫中的 _資料庫/_表格/_主鍵,下面給出幾個根據這個格式的增刪改例項:
一 、指定主鍵插入資料:
PUT /{index}/{type}/{id}
{
"name": "小紅",
"age":32,
"address":"河北省邢臺市xxx"
}
使用restful請求中的put請求,請求搜尋引擎地址,引數為json格式。一般本地es地址對外restful開放地址都是127.0.0.1:9200,那麼插入的語句就是 127.0.0.1:9200/{index}/{type}/{id},大括號內的欄位都是自定義的,es會根據你寫的名字把資料放到指定index下的type下,並給這條資料的id標識為{id},如果id欄位不填寫的話es會給資料一條自增長id。插入成功後es會返回json字串。
{
"_index": "website",
"_type": "blog",
"_id": "123",
"_version": 1,
"created": true
}
二、根據id查詢資料:
GET /{index}/{type}/{id}
第一步插入之後,根據插入時的欄位使用get請求去es請求資料,路徑可以寫成127.0.0.1:9200/{index}/{type}/{id},可以看到查詢出的資料就是第一步插入的資料
{ "_index" : "website", "_type" : "blog", "_id" : "123", "_version" : 1, "found" : true, "_source" : { "name": "小紅", "age":32, "address":"河北省邢臺市xxx" } }
三、根據id更新欄位:
es的更新和插入時的請求一模一樣,同樣使用put請求請求已存在的資料地址
PUT /{index}/{type}/{id}
{
"name": "小黃",
"age":33,
"address":"河北省邢臺市xxx"
}
執行插入請求後返回json格式返回值
{
"_index" : "website",
"_type" : "blog",
"_id" : "123",
"_version" : 2,
"created": false <1>
}
從響應中我們可以看到_version欄位變為了2,created欄位也變為了false,執行後再次查詢這條資料,發現數據已修改完成。
四、根據id刪除資料:
DELETE /{index}/{type}/{id}
使用restful中的delete請求請求同樣的地址執行刪除文件操作,執行成功後es返回json格式字串
{
"found" : true,
"_index" : "website",
"_type" : "blog",
"_id" : "123",
"_version" : 3
}
這樣就表示資料刪除成功,如果響應值中的found欄位為false時,則表示指定id的資料沒找到,再次執行第二步的查詢請求你將會發現資料已經找不到了。
下一篇將會講到es的全域性查詢和ik分詞器的安裝!!