使用kibana給elasticsearch完成增刪改查數據
elasticsearch的啟動只需在 cmd 中運行 elasticsearch.bat文件
elasticsearch-head 需要安裝node.js 然后使用 npm run start 這樣的命令進行啟動
kibana啟動的時候需要在kibana當中運行kibana.bat文件即可
三個軟件啟動之后可以這樣檢測其是否啟動成功:
elasticsearch:
瀏覽器輸入 http://localhost:9200/出現下面的:
elasticsearch-head
瀏覽器輸入 http://localhost:9100/出現下面的:
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 當中查看數據庫的變化。