三、ElasticSearch 8.6.0 快速使用 - 索引 API 的基本操作

作者: 温新

分类: 【Elasticsearch】

阅读: 1467

时间: 2023-02-21 16:44:40

hi,我是温新,一名 PHPer

ES 版本:ElasticSearch 8.6.0

系统版本:Rocky Linux 9.1

学习目标:掌握索引的 CURD 操作

本篇文章结合官方文档编写及参考网络资料编写,虽非全部原创,但也是结合了自己的理解,若转载请附带本文 URL,编写不易,持续编写更不易,谢谢!

本篇文章将学习索引的 CURD 操作。

创建索引

语法:

PUT <index_name>

index_name 为索引名称。

索引命名规范:

​ 必须以小写英文字母命名索引;

​ 不要使用驼峰命令;

​ 出现多个单品时,以全小写 + 下划线分隔方式,如 goods_shop

案例:

# 添加索引
PUT ziruchu

成功返回值:

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "index": "ziruchu1"
}

删除索引

语法:

DELETE <index_name>

案例:

# 删除索引
DELETE ziruchu

成功返回值:

{
  "acknowledged": true
}

判断索引是否存在

语法:

HEAD <index_name>

案例:

HEAD ziruchu

返回值:

200 - OK

settings 设置

创建索引时指定 settings

语法:

PUT <index_name>
{
  "settings": {}
}

案例:

# 添加索引并设置 settings
PUT ziruchu
{
  "settings": {
    "number_of_shards": 1,  //主分片数量为 1
    "number_of_replicas": 1 //每个主分片分配一个副本
  }
}

返回值:

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "index": "ziruchu"
}

查询索引

语法:

GET <index_name>

案例:

# 查询索引
GET ziruchu

返回值:

{
  "ziruchu": {
    "aliases": {},
    "mappings": {},
    "settings": {
      "index": {
        "routing": {
          "allocation": {
            "include": {
              "_tier_preference": "data_content"
            }
          }
        },
        "number_of_shards": "1",
        "provided_name": "ziruchu",
        "creation_date": "1676987928986",
        "number_of_replicas": "1",
        "uuid": "wArIVeQASZ6shIVtkD-Q4w",
        "version": {
          "created": "8060099"
        }
      }
    }
  }
}

关闭索引

语法:

POST <index_name>/close

案例:

# 关闭索引
POST ziruchu/_close

返回值:

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "indices": {
    "ziruchu": {
      "closed": true
    }
  }
}

打开索引

语法:

POST <index_name>/_open

案例:

# 打开索引
POST ziruchu/_open

返回值:

{
  "acknowledged": true,
  "shards_acknowledged": true
}

添加索引 & 映射 & 分词

添加索引的时候可以添加该索引的映射,且可以为映射指定分词。下面直接通过案例演示:

PUT human
{
    "mappings": {
    "properties": {
      "name": {
        "type":"keyword"
      },
      "address":{
        "type": "text",
        "analyzer": "ik_max_word"
      }
    }
  }
}

返回值:

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "index": "human"
}

删除索引

语法:

DELETE <index_name>

案例:

DELETE ziruchu

返回值:

{
  "acknowledged": true
}
请登录后再评论