[TOC] ## 1.索引基本操作 ### 1.1 创建一个索引 ```json #创建一个索引 PUT /person { "settings": { "number_of_shards": 5, "number_of_replicas": 1 } } ``` ### 1.2 查看索引信息 ```json #查看索引 GET /person ``` ### 1.3 删除索引 ```json #删除索引 DELETE /person ``` ### 1.4 ES中Field可以指定的类型 ~~~json #String: text:一般用于全文检索。将当前的field进行分词 # keyword: 当前的Field不可被分词 ~~~ ### 1.5 创建索引并指定数据结构 ——以创建小说为例子 ~~~json PUT /book { "settings": { #备份数 "number_of_replicas": 1, #分片数 "number_of_shards": 5 }, #指定数据结构 "mappings": { #指定类型 Type "novel": { # 文件存储的Field属性名 "properties": { "name": { "type": "text", "analyzer": "ik_max_word", # 指定当前的Field可以作为查询的条件 "index": true }, "authoor": { "type": "keyword" }, "onsale": { "type": "date", "format": "yyyy-MM-dd" } } } } } ~~~ ### 1.6 文档的操作 - <u>文档在ES服务中的唯一标志,_index, _type, _id 三个内容为组合,来锁定一个文档,操作抑或是修改</u> #### 1.6.1 新建文档 - 自动生成id ~~~Json PUT /book/novel { "name": "西游记", "authoor": "刘明", "onsale": "2020-12-11" } ~~~ - **手动指定ID(更推荐)** ~~~json PUT /book/novel/1 { "name": "三国演义", "authoor": "小明", "onsale": "2020-12-11" } ~~~ #### 1.6.2 修改文档 - <u>覆盖式修改</u> ~~~json POST /book/novel/1 { "name": "三国演义", "authoor": "小明", "onsale": "2020-12-11" } ~~~ - <u>doc修改方式(更推荐)</u> ~~~json POST /book/novel/1/_update { "doc": { "name": "极品家丁" } } #先锁定文档,_update 修改需要的字段即可 ~~~ #### 1.6.3 删除文档 - <u>删库跑路</u> ~~~json DELETE /book/novel/1 ~~~