使用kibana給elasticsearch完成增刪改查資料
首先我們啟動elasticsearch、elasticsearch-head和kibana (前提是已經安裝好了)
elasticsearch的啟動只需在 cmd 中執行 elasticsearch.bat檔案
elasticsearch-head 需要安裝node.js 然後使用 npm run start 這樣的命令進行啟動
kibana啟動的時候需要在kibana當中執行kibana.bat檔案即可
三個軟體啟動之後可以這樣檢測其是否啟動成功:
elasticsearch:
瀏覽器輸入 http://localhost:9200/出現下面的:
elasticsearch-head
瀏覽器輸入 http://localhost:9
kibana
瀏覽器輸入 http://localhost:5601/ 出現下面的介面,點選 DEV TOOLS 然後回出現控制elasticsearch的控制面板,可以向其中傳送查詢語句
接下來完成一個增刪改查的流程:
首先我們先刪除所有的index:
locallhost:9100 在 elasticsearch-head的管理介面刪除之前建立的索引
然後我們回到 kibana---Dev Tools>的管理介面,左邊執行新增的程式碼:
#number_of_shards 分片數量
#number_of_replicas 副本數量
PUT lagou
{
"settings":{
"index":{
"number_of_shards":5,
"number_of_replicas":1
}
}
}
於是這樣便新增成功了一個索引,可以在 localhost:9100 中 的elastiicsearch-head的管理介面 進行調整資料瀏覽中看到
如果想要獲取設定的資訊,我們可以執行下面的程式碼:
#獲取lagou的設定
GET lagou/_settings
#獲取所有的設定
GET _all/_settings
#獲取所有的設定(同上)
GET _settings
#獲取kibana和lagou的設定
GET .kibana,lagou/_settings
--------------------------------------------------------------------------------
在設定中分片的數量不能修改但是副本的數量可以修改
#number_of_shards 分片數量
#number_of_replicas 副本數量
#修改副本數量設定
PUT lagou/_settings
{
"number_of_replicas":2
}
#獲取索引資訊
GET _all
GET lagou
-------------------------------------------------------------------------------------
接下來是儲存一篇文件到索引當中去 (相當於插入一條記錄到一個數據庫表當中)
PUT lagou/job/1
{
"title":"python分散式爬蟲開發",
"salary_min":15000,
"city":"北京",
"company":{
"name":"百度",
"company_addr":"北京市軟體園"
},
"publish_date":"2017-4-16",
"comments":15
}
#儲存文件到索引當中,不給id
POST lagou/job/
{
"title":"java架構師",
"salary_min":30000,
"city":"上海",
"company":{
"name":"美團",
"company_addr":"北京市軟體園"
},
"publish_date":"2017-4-16",
"comments":20
}
---------------------------------------------------------------------------------
下面的語句相當於sql中的查詢語句:
#獲取某個索引中某個型別某個id的資料
GET lagou/job/1
#或者可以這樣
GET lagou/job/1?_source
#這個語句相當於sql中的 select title from job where id = 1
GET lagou/job/1?_source=title
#這個語句相當於sql中的 select title,city from job where id = 1
GET lagou/job/1?_source=title,city
-----------------------------------------------------------------------------------
下面的語句相當於sql中的更新語句
#修改文件 (這種採用的是覆蓋的方式) 相當於sql中的 update job set title=?,salary_min=?city=? (....省略...) where id = 1
PUT lagou/job/1
{
"title":"linux運維工程師",
"salary_min":10000,
"city":"廣州",
"company":{
"name":"騰訊",
"company_addr":"廣州軟體園"
},
"publish_date":"2017-4-12",
"comments":21
}
# update job set comments = 20 where id = 1
POST lagou/job/1/_update
{
"doc":{
"comments":20
}
}
-----------------------------------------------------------------------------------
下面的語句相當於sql中的刪除語句
-----------------------------------------------------------------------------------
下面的語句相當於sql中的更新語句
#刪除 分為三種刪除
#刪除一條記錄(文章),
#刪除一個type(表)
#刪除整個 index (庫)
-----------------------------------------------------------------------------------
下面的語句相當於sql中的更新語句
#1.刪除一條記錄(文章),
DELETE lagou/job/1
#2.刪除一個type(表)
#DELETE lagou/job
#嘗試了一下,結果不行,表明es5不再支援刪除type
#3.刪除整個 index (庫)
DELETE lagou
----------------------------------------------------------------------------------
注:每次在執行完畢操作之後,都可以在 localhost:9100 當中檢視資料庫的變化。