增刪改
批量增刪改:使用_mget _bulk
api詳見:
https://www.elastic.co/guide/en/elasticsearch/reference/6.3/docs-multi-get.html
https://www.elastic.co/guide/en/elasticsearch/reference/6.3/docs-bulk.html
java類api見:
https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.3/java-docs.html
下面是一些筆記
創建索引 (相當於創建數據庫) |
Put 索引名
含配置 put lib1 { "settings":{ "index":{ "number_of_shards":3, "number_of_replicas":0 } } } 設置分片爲3, 設置備份數量0(因爲只有1臺服務器) 出現如下: { "acknowledged": true, "shards_acknowledged": true, "index": "lib1" } 表示成功
默認配置 Put lib2 即可 出現 { "acknowledged": true, "shards_acknowledged": true, "index": "lib2" } 說明成功 |
查看索引配置 |
GET lib1/_settings 備註:含下劃線的,一般是es自己定義好的關鍵字 GET _all/_settings 查看所有索引的設置 |
添加文檔(指定ID) 類似於添加一條數據 |
PUT lib1/user/7 { "name":"張三" }
格式: PUT 索引名/類名/ID名
向索索引lib1中,的user類,添加一個文檔id爲7的文檔,內容爲如上。 { "_index": "lib1", "_type": "user", "_id": "7", "_version": 1, //版本 "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }
可以理解爲: 這個條數據, 在格式化數據sql類型時,name就是字段名,張三就是字段值 其中,類,可以理解爲一個表 一般建議一個所以,有一個類。 |
添加文檔(不指定ID) |
POST lib1/user { "name":"趙四" }
{ "_index": "lib1", "_type": "user", "_id": "opwkIHABn5VQ8bsa3L9t", // id是系統自己生成 "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }
|
查找文檔 |
GET lib1/user/1 在lib1的user中,查找id是1的文檔 |
查找文檔,指定字段 |
GET lib1/user/1?_source=name,age,… |
修改文檔(覆蓋的方式) |
PUT lib1/user/7 { "name":"張三丰" } 同指定id添加文檔 { "_index": "lib1", "_type": "user", "_id": "7", "_version": 2, "result": "updated", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 }
|
修改文檔(指定字段修改) |
POST lib1/user/7/_update { "doc":{ "name":"zhangsanfeng" } }
注意,必須指定操作_update
{ "_index": "lib1", "_type": "user", "_id": "7", "_version": 3, "result": "updated", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 2, "_primary_term": 1 }
|
刪除文檔 |
DELETE lib1/user/1 然後查看文檔 { "_index": "lib1", "_type": "user", "_id": "1", "found": false } |
刪除索引 |
DELETE lib2 |