快速上手ES
- ES 采用 JSON 形式的 RESTFUL API 接受数据并响应,操作起来极为简单,只需要使用 PostMan 即可
- 我这里使用的不是 PostMan 你们随意只要可以发送 HTTP 请求即可
查看集群的健康情况
GET /_cat/health?v
- 以下是对返回的参数的解释
- cluster:集群名称
- status:集群状态
green
代表健康yellow
代表分配了所有主分片,但至少缺少一个副本,此时集群数据仍旧完整red
代表部分主分片不可用,可能已经丢失数据- node.total:代表在线的节点总数量
- node.data:代表在线的数据节点的数量
- shards,active_shards:存活的分片数量
- pri,active_primary_shards:存活的主分片数量,正常情况下,shards 的数量是 pri 的两倍
- relo,relocating_shards:迁移中的分片数量,正常情况为 0
- init,initializing_shards:初始化中的分片数量,正常情况为 0
- unassign,unassigned_shards:未分配的分片,正常情况为 0
- pending_tasks:准备中的任务,任务指迁移分片等,正常情况为 0
- max_task_wait_time:任务最长等待时间
- active_shards_percent:正常分片百分比,正常情况为 100%
索引操作
查看集群中的索引
GET /_cat/indices?v
创建索引
- 语法如下:
- 这里
pretty
的作用是格式化返回的JSON
串,可以不加
PUT /索引名称
PUT /索引名称?pretty
- 示例如下:
PUT /my_index?pretty
删除索引
DELETE /索引名称?pretty
CRUD
新增
- 语法如下:
PUT /index/type/id
- 新增 3 条数据格式如下:
- 第一条
PUT article/_doc/1
{
"title":"Java从入门到精通",
"red":101,
"content":"Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程"
}
- 第二条
PUT article/_doc/2
{
"title":"JavaEE从入门到入土",
"red":50,
"content":"Java EE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本"
}
- 第三条
PUT article/_doc/3
{
"title":"PHP从入门到精通",
"red":50,
"content":"众所周知,PHP是世界上最好的语言"
}
查询
- 语法如下:
GET /index/type/id
- 示例如下:
- 查询结果解释
_index
:该文档属于哪个索引_type
:相当于表 ES一直在弱化 type,现在的 type 实际上都是 _doc,ES9 之后将彻底删除 type_id
:文档的唯一标识,相当于主键,可以手动生成,也可以自动_seq_no
:递增的序列号,保证每次操作都比前一次大_version
:版本号,表示该数据被修改了多少次found
:是否被查询到_primary_term
:当分片重新选举时,+ 1_source
:查询到的数据
替换
- 所谓替换文档,就是将整个文档的内容全部替换成新内容
- 替换操作不需要字段对应上,因为是完全替换的
- 语法如下:
PUT /index/type/id
{
"title":"PHP从入门到跑路"
}
- 替换之后的结果如下:
- 你会发现只有指定了值的字段还有值其他的都没值了
修改
- 所谓修改文档,就是修改文档中的某个字段
- 语法如下:
POST /index/type/id/_update
- update 操作不能直接指定字段,而是需要在外面包一层
doc
{
"doc":{
"name":"PHP从入门到跑路2"
}
}
- 修改之后结果如下:
删除
- 语法如下:
DELETE /index/type/1
- 删除之后结果如下:
标签:
ElasticSearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具