Kibana的基本操作
1. 索引(Index)的基本操作
PUT /dangdang/ 創建索引
DELETE /dangdang 刪除索引
DELETE /* 刪除所有索引
GET /_cat/indices?v 查看索引信息
2. 類型(type)的基本操作
創建類型
創建/dangdang索引並創建(product)類型
PUT /dangdang
{
"mappings": {
"product": {
"properties": {
"title": { "type": "text" },
"name": { "type": "text" },
"age": { "type": "integer" },
"created": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
}
}
}
}
}
注意: 這種方式創建類型要求索引不能存在
Mapping Type: : text , keyword , date ,integer, long , double , boolean or ip
查看類型
GET /dangdang/_mapping/product # 語法:GET /索引名/_mapping/類型名
3. 文檔(document)的基本操作
添加文檔
PUT /ems/emp/1 #/索引/類型/id
{
"name":"趙小六",
"age":23,
"bir":"2012-12-12",
"content":"這是一個好一點的員工"
}
查詢文檔
GET /ems/emp/1
返回結果:
{
"_index": "ems",
"_type": "emp",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"name": "趙小六",
"age": 23,
"bir": "2012-12-12",
"content": "這是一個好一點的員工"
}
}
刪除文檔
DELETE /ems/emp/1
{
"_index": "ems",
"_type": "emp",
"_id": "1",
"_version": 2,
"result": "deleted", #刪除成功
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
更新文檔
1.第一種方式 更新原有的數據
POST /dangdang/emp/1/_update
{
"doc":{
"name":"xiaohei"
}
}
2.第二種方式 添加新的數據
POST /ems/emp/1/_update
{
"doc":{
"name":"xiaohei",
"age":11,
"dpet":"你好部門"
}
}
3.第三種方式 在原來數據基礎上更新
POST /ems/emp/1/_update
{
"script": "ctx._source.age += 5"
}
ES的使用語法風格爲:
REST /Index/Type/ID ------------ REST操作 /索引/類型/文檔id
批量操作
1. 批量索引兩個文檔
PUT /dangdang/emp/_bulk
{"index":{"_id":"1"}}
{"name": "John Doe","age":23,"bir":"2012-12-12"}
{"index":{"_id":"2"}}
{"name": "Jane Doe","age":23,"bir":"2012-12-12"}
2. 更新文檔同時刪除文檔
POST /dangdang/emp/_bulk
{"update":{"_id":"1"}}
{"doc":{"name":"lisi"}}
{"delete":{"_id":2}}
{"index":{}}
{"name":"xxx","age":23}
注意:批量時不會因爲一個失敗而全部失敗,二十繼續執行後續操作,批量在返回時按照執行的狀態開始返回