增删改
批量增删改:使用_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 |