Elasticsearch基础_3.基础操作

文章目录

一、索引操作

1.1、创建索引

yaml 复制代码
PUT /${index_name}
{
  "settings":{
    ...
  },
  "mappings":{
    ...
  }
}

其中,变量index_name就是创建的索引名;可以在settings子句内部填写索引相关的设置项,如主分片个数和副分片个数;可以在mappings子句内部填写数据组织结构,即数据映射。

例如创建一个hotel索引:

bash 复制代码
PUT /hotel
{
  "settings":{
    "number_of_shards":15, //指定主分片个数
    "number_of_replicas":2 //指定副分片个数
  },
  "mappings":{
    "properties":{
      ...       //设置字段即字段类型
    }
  }
}

1.2、删除索引

bash 复制代码
DELETE /${index_name}

例如:

bash 复制代码
DELETE /hotel

二、映射操作

在使用数据之前,需要构建数据的组织结构,这种组织结构在关系型数据库中叫做表结构 ,在ES中叫做映射

2.1、查看映射

bash 复制代码
PUT /${index_name}/_mapping

2.2、扩展映射

ES映射里的字段类型是不可以修改的,只可以新增字段。

bash 复制代码
POST /${index_name}/_mapping
{
	"properties":{
		...
	}
}

三、文档操作

3.1、单条写入文档

bash 复制代码
POST /${index_name}/_doc/${_id}
{
	//写入的文档数据
	...
}

例如:

bash 复制代码
POST /hotel/_doc/20241001001
{
	"title":"好再来酒店",
	"city":"成都"
}

3.2、更新单条文档

bash 复制代码
POST /${index_name}/_update/${_id}
{
	//需要更新的数据
	...
}

3.3、查看单条文档

bash 复制代码
GET /${index_name}/_doc/${_id}

3.4、删除单条文档

bash 复制代码
DELETE /${index_name}/_doc/${_id}

3.5、根据条件删除文档

bash 复制代码
POST /${index_name}/_delete_by_query
{
	"query":{
		...
	}
}

例如,将city为成都的酒店信息删除:

bash 复制代码
POST /hotel/_delete_by_query
{
	"query":{
		"term":{
			"city":{
				"value":"成都"
			}
		}
	}
}
相关推荐
Elastic 中国社区官方博客3 分钟前
Elasticsearch 下采样方法:最后值采样 vs. 聚合采样
大数据·运维·elasticsearch·搜索引擎·全文检索
Andya_net2 小时前
Git | Git 核心命令深入解析:从原理到实战
大数据·git·elasticsearch
不仙52017 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
qziovv18 小时前
Git 回退场景
大数据·git·elasticsearch
ZeroNews内网穿透20 小时前
面向 AI 协作的本地客户端能力:ZeroNews Agent Skills
大数据·人工智能·elasticsearch
Elastic 中国社区官方博客20 小时前
快 12 倍的 Elasticsearch 向量索引:使用 GPU 和 CPU 分层部署 NVIDIA cuVS
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·nvidia
海兰1 天前
【实用应用】React+TypeScript+Next.js博客项目
开发语言·javascript·elasticsearch
乐观的Terry1 天前
博客系统全文搜索实战:用 Elasticsearch 告别 MySQL LIKE 查询
mysql·elasticsearch
敖正炀1 天前
索引写入与数据持久化深度
elasticsearch
Achou.Wang1 天前
Docker 多阶段构建:优化 Go 应用镜像大小的最佳实践
elasticsearch·docker·golang