REST风格操作ES
REST风格
一种软件架构风格
,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制
🐤基本REST命令说明
methodName | URLPath | Desc |
---|---|---|
PUT | localhost:9200/索引名称/类型名称/文档id | 创建文档(指定文档id) |
POST | localhost:9200/索引名称/类型名称 | 创建文档(随机文档id) |
POST | localhost:9200/索引名称/类型名称/文档id/_update | 修改文档 |
DELETE | localhost:9200/索引名称/类型名称/文档id | 删除文档 |
GET | localhost:9200/索引名称/类型名称/文档id | 查询文档通过文档id |
POST | localhost:9200/索引名称/类型名称/_search | 查询所有数据 |
创建一个索引
PUT /索引名/类型名/文档id
{请求体}
PUT /test1/type1/1
{
"name": "BNTang",
"age": 23
}
完成了自动增加索引,数据也成功的添加了,初期可以把它当作数据库一样的去学习
那么name这个字段用不用指定数据类型呢,毕竟我们关系型数据库是需要指定数据类型的
- 字符串类型
text、keyword
- 数值类型
long、integer、short、byte、double、float、half_float、scaled_float
- 日期类型
date
- 布尔值类型
boolean
- 二进制类型
binary
等...
参考文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html
指定字段的类型
PUT /test2
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "long"
},
"birthday": {
"type": "date"
}
}
}
}
🐬获得这个规则,可以通过GET请求获取具体的信息
GET /test2
🐸查看默认信息
PUT /test3/_doc/1
{
"name": "BNTang666",
"age": 24,
"birth": "1997-05-25"
}
GET /test3
如果自己创建文档没有指定数据类型,那么es就会给我们默认配置字段数据类型,另外,可以通过GET _cat/
可获得es当前更多信息
修改提交还是使用PUT即可,然后覆盖原有的,这里会介绍两种方式
曾经
PUT /test3/_doc/1
{
"name": "BNTang",
"age": 24,
"birth": "1997-05-25"
}
现在的方式
POST /test3/_doc/1/_update
{
"doc": {
"name": "JonathanLee"
}
}
删除索引
通过DELETE
命令实现删除、根据你的请求来判断是删除索引还是删除文档记录
使用RESTFul风格是ES推荐的
删除文档
DELETE /test1
删除文档中的记录
DELETE /test3/_doc/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生成工具