1. 程式人生 > >使用kibana給elasticsearch完成增刪改查資料

使用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

100/出現下面的:

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  當中檢視資料庫的變化。