創建索引、修改/新增數據、查詢數據、刪除索引的基本方法
kibana Dev Tools增刪改查基礎知識:https://www.cnblogs.com/bigfacecat-h/p/14490917.html
kibana Dev Tools查詢示例:https://www.cnblogs.com/bigfacecat-h/p/elasticSearch.html
kibana Dev Tools修改示例:https://www.cnblogs.com/bigfacecat-h/p/14498221.html
kibana Dev Tools常用命令:https://www.cnblogs.com/bigfacecat-h/p/14500466.html
先看下圖,在kibana devTool中寫的一個查詢語句 :
GET alxxx.manual.call.history.topic/logs/_search
上圖中:
alxxx.manual.call.history.topic --表示index 索引
logs --表示type
_search --表示執行查詢操作
_id --表示文檔id
在ES中,有的版本支持一個index下可以有多個type,但7版本之后,ES不再支持一個index可以創建多個type,即一個index下只能有一個type,且type名字都默認為_doc
即在7版本之后,以上的查詢語句就是: GET alxxx.manual.call.history.topic/_doc/_search
其他字段說明:
創建索引、更新數據可以使用POT或 PUT,但兩者有區別:
1、創建索引時,POST命令不需要指定文檔id(可以指定也可以不指定),PUT必須指定文檔id
2、更新數據時,PUT會將新的json值完全替換掉舊的;而POST方式只會更新相同字段的值,其他數據不會改變,新提交的字段若不存在則增加
3、PUT是冪等等操作,即將A修改為B,第一次請或多次的結果都是一樣的,查詢會發現結果中始終只有一條B的記錄
POST不是冪等操作,若要將A修改為B,則每次請求都會新增一份數據,如果請求5次,就會生成5分數據(文檔id不同),查詢會發現結果中有5條B的記錄
1、PUT創建索引(必須指定文檔id)
PUT /index_bigfacecat_test/typeA/1 { "name": "big face cat", "age": 18 }
2、POST創建索引(不指定文檔id)
POST /index_littefacecat_test/typeA { "name": "litte face cat", "age": 18 }
2、查詢數據( 查詢語句用法見《https://www.cnblogs.com/bigfacecat-h/p/elasticSearch.html》)
GET /index_bigfacecat_test/typeA/_search { "query": { "match_all": {} } }
GET /index_littefacecat_test/typeA/_search { "query": { "match_all": {} } }
3、PUT修改數據:直接將原有數據全部替換掉
PUT /index_bigfacecat_test/typeA/1
{
"name": "大臉貓",
"age": 99,
"address":"重慶"
}
4、POST不指定文檔id時:是在同樣的索引下新增了一條數據,而不是在原有數據的基礎上修改
6、POST指定了文檔id時,則只修改對應文檔id中的數據,不會新增一份資源,且僅更新相同字段的值,其他數據不會改變,若新提交的字若不存在則增加該字段
POST /index_bigfacecat_test/typeA/1 { "name": "大臉貓2 ", "age": 999, "addree":"重慶2", "sex":"female" }
7、當只修改某幾個字段的值時,只能用POS修改,因為PUT會用請求中的數據全部替換掉庫中的整條記錄
POST /index_bigfacecat_test/typeA/1/_update { "doc":{ "name": "大臉貓3", "age":1000, "hobby":"露營" } }
7、批量創建
POST /index_bigfacecat_test/typeA/_bulk {"index":{"_id":"5"}} {"name": "大臉貓5" } {"index":{"_id":"6"}} {"name": "大臉貓66" }
8、批量更新或刪除
POST /index_bigfacecat_test/typeA/_bulk {"update":{"_id":"5"}} {"doc": { "name": "big face cat 5" } } {"update":{"_id":"5"}} {"doc": { "sex": "female" }} {"delete":{"_id":"6"}} {"delete":{"_id":"1"}}
7、刪除數據
刪除指定文檔id的數據: DELETE /index_littefacecat_test/typeA/AXgGn-gEICegWRWVwWZQ
刪除指定索引下的所有數據:DELETE /index_littefacecat_test/
8、查看所有index的語句
GET /_cat/indices?format=json
9、查詢指定 Index 的 mapping
GET /index_bigfacecat_test/_mapping