三、ElasticSearch 8.6.0 快速使用 - 索引 API 的基本操作
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
}
请登录后再评论