本次換為Kibana操作ElasticSearch
1.kibana安裝
基于7.10版本安裝,同es安裝一樣,參考csdnElasticSearch安裝部落格
安裝後通路5601端口界面如下圖所示:
主要使用kibana的devtools通路es,替代postman
2.索引的操作
2.1 建立索引及文檔第一個示例
PUT twitter/_doc/1
{
"user":"GB",
"uid":1,
"city":"Beijing",
"province":"Benjing",
"country":"China"
}
在kibana的devtools中建立索引及文檔,使用如上參數
這個參數其實是一個新增文檔的記錄,但是這個文檔對于的index也會随之建立,這是因為es無需先建立表結構,會根據文檔自動建立index
2.2 開啟關閉es自動建立索引的配置項
這其實是一個配置項,可以關閉
如下請求關閉
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index":"false"
}
}
其實也是一個請求,新增叢集配置,設定自動建立索引為false.
删除此配置
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index":null
}
}
2.3 删除索引
DELETE twitter
2.4 單獨建立索引
2.1中是通過建立文檔的形式自動建立索引,也可以單獨建立索引,并指定分片,副本,映射參數
PUT twitter
單獨建立索引,使用預設參數 預設分片1,副本1
PUT twitter
{
"settings": {
"number_of_replicas": 2,
"number_of_shards": 2
},
"mappings": {
"properties":{
"name":{
"type":"text"
},
"id":{
"type":"long"
}
}
}
}
建立了一個兩個分片,兩個副本的索引,并指定了該索引的mappings
3. 文檔的增删改查
3.1 新增文檔
使用put請求新增文檔
POST twitter/_doc/1
{
"name":"zy",
"id":1
}
其中twitter就是index名稱,_doc就是預設的type名稱,1是指定的文檔id,如果不指定,es會自動生成一個随機id
3.2 删除文檔
DELETE twitter/_doc/1
指定删除文檔的id
3.3 修改文檔
PUT twitter/_doc/1
{
"name":"zy",
"id":1
}
每次修改會使文檔的version加1,如果指定id的文檔不存在,會自動建立一個新文檔,version為1
3.4 查詢文檔
GET twitter/_search?pretty=true
不添加所有參數,直接查詢 傳回的資料如下
- took 為請求時間
- timed_out為逾時時間,預設請求不逾時,如果對響應時間有要求,可以在請求路徑上添加timed_out參數
- _shards傳回參與查詢的分片數
-
- total 總分片數
- successful 成功2個
- skipper 跳過0個
- failed 失敗0個
- hits 是傳回的資料清單,es會傳回比對的文檔個數,以及預設前10個文檔
-
- total 比對的總數量
- max_score 文檔相關性 1為中性 此次查詢為不加任何參數查詢,是以與所有文檔的相關性都一樣,如果有參數,會預設安裝文檔的相關性倒序排序,相關性高的在上面,類似搜尋引擎
- hits 資料清單,如果資料比較多的情況下,會傳回前10條資料 每條資料中包含了文檔的_index,_type,_id,_score,_source屬性
-
-
- _source是對應文檔的資料
-
還可以根據文檔id查詢文檔資料
GET twitter/_doc/1
查詢文檔id為1的資料