說明
上篇我們安裝了ElasticSearch和 Kibana,這次我們來對索引和文檔做一些簡單操作
es中索引和文檔的簡單說明
index == 數據庫的概率
Type== 表的概念
document == 行的概念
索引的常用操作
1. 查詢所有的索引信息
GET _cat/indices?v
2. 創建索引
PUT /索引名
3. 刪除索引
DELETE /索引名
文檔的常用操作
1. 新增文檔
PUT /index/type/id
{"json數據"}
示例:
PUT /ecommerce/product/5
{
"name":"iphone",
"desc":"call phone",
"price":3000,
"producer":"iphone producer",
"tags":["communication","game"]
}
ps 這個警告不用管,因爲我的elasticSearch用的最新的7.7,官方是不推薦指定type所以會有這個警告
2. 查詢文檔
GET /index/type/id
示例:
GET /ecommerce/product/5
3. 替換文檔
PUT /index/type/id
{json}
示例
PUT /ecommerce/product/5
{
"name":"iphone",
"desc":"call phone",
"price":5000,
"producer":"iphone producer",
"tags":["communication","game"]
}
ps 這裏的替換是全量替換的意思,不是單個值的更新,所以如果你需要更新單個值必須攜帶其他原始值
4. 刪除文檔
DELETE /index/type/id
示例:
DELETE /ecommerce/product/5
ps:不會理解物理刪除,只會將其標記爲deleted,當數據越來越多的時候,在後臺自動刪除
5. 更新文檔
POST /index/type/id/_update
{
"doc":{
屬性
}
}
示例:
POST /ecommerce/product/5/_update
{
"doc":{
"name": "iphone1"
}
}
ps 這纔是真正的更新,但是底層實現還是用的替換
6. 批量查詢
優點:減少網絡請求
- 相同index相同type
GET /ecommerce/product/_mget
{
"ids":[1,2,3,4]
}
- 相同index不同type
GET /ecommerce/_mget
{
"docs" : [
{
"_type" : "product",
"_id" : 1
},
{
"_type" : "product1",
"_id" : 2
}
]
}
3. 不同index不同type
GET /_mget
{
"docs" : [
{
"_index" : "ecommerce",
"_type" : "product",
"_id" : 3
},
{
"_index" : "ecommerce1",
"_type" : "product1",
"_id" : 2
}
]
}