ElasticSearch索引与文档操作

1._cat
| _cat接口          | 说明             |
| ----------------- | ---------------- |
| GET /_cat/nodes   | 查看所有节点     |
| GET /_cat/health  | 查看ES健康状况   | 如果是yellow  或者 gray 是由问题的   后面是集群信息  
| GET /_cat/master  | 查看主节点       |uuid?      最后是容器编号?
| GET /_cat/indices | 查看所有索引信息 |
/_cat/indices?v 查看所有的索引信息


索引操作
索引就相当于我们关系型数据库Mysql中的database
创建索引  索引名自己确定

PUT /索引名
参数可选:指定分片及副本,默认分片为3,副本为2。
json
{
    "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 2
      }
}

这是不带json 数据提交

这是带json数据提交  集群配置

 

 

 


es 中会默认提供上面的几个索引,表头的含义为:


| 字段名         | 含义说明                                                     |
| -------------- | ------------------------------------------------------------ |
| health         | green(集群完整) yellow(单点正常、集群不完整) red(单点不正常) |
| status         | 是否能使用                                                   |
| index          | 索引名                                                       |
| uuid           | 索引统一编号                                                 |
| pri            | 主节点几个                                                   |
| rep            | 从节点几个                                                   |
| docs.count     | 文档数                                                       |
| docs.deleted   | 文档被删了多少                                               |
| store.size     | 整体占空间大小                                               |
| pri.store.size | 主节点占                                                     |


查看索引信息
 GET /索引名

 

 

 查看所有索引详细信息

http://192.168.1.137:9200/*

-----------------------

删除索引
DELETE /索引名称

 

 

 ------------------

文档操作
创建文档
PUT /索引名称/类型名/编号
数据

```json
{
   "name":"lcc"
}

_index等是响应的元数据信息

 

 

 

如果再次提交  此时的状态是更新状态
version 会自增+1
且每次提交需要id 如果不写带回报错
| 提交方式 | 描述                                                              |
| -------- | ----------------------------------------------------------------- |
| PUT      | 提交的id如果不存在就是新增操作,如果存在就是更新操作,id不能为空  |
| POST     | 如果不提供id会自动生成一个id,如果id存在就更新,如果id不存在就新增 |
 
POST /索引名称/类型名/编号  

 

-------------------------------------------------------

 

查询文档

GET /索引/类型/id 

查询文档信息

| 字段          | 含义                                         |
| ------------- | -------------------------------------------- |
| _index        | 索引名称                                     |
| _type         | 类型名称                                     |
| _id           | 记录id                                       |
| _version      | 版本号                                       |
| _seq_no       | 并发控制字段,每次更新都会+1,用来实现乐观锁 |
| _primary_term | 同上,主分片重新分配,如重启,就会发生变化   |
| found         | 找到结果                                     |
| _source       | 真正的数据内容                               |

 

 

乐观锁提交方式   ?if_seq_no=0&if_primary_term=1    vesion会自增  result 状态变为update状态   seq_no 会自增  如果同时提交的seq_no相同 会使用乐观锁的方式 防止并发访问产生冲突问题

 

-----------------------------------------

 更新文档

前面的POST和PUT添加数据的时候,如果id存在就会执行更新文档的操作,当然我们也可以通过POST方式提交,然后显示的跟上_update来实现更新
POST /索引/类型/id/_update
{
   "doc":{
       "name":"lcc111"
   }
}

 

 

 

 

----------------------------------------------------------

 

 删除文档

DELETE /索引/类型/id

DELETE /索引

 

此时查询 状态为false

 

删除索引

 

 此时查询索引

 

 



posted @ 2022-05-28 09:33  花心大萝卜li  阅读(154)  评论(0)    收藏  举报