当前位置: 首页 > news >正文

es中的端点

_doc端点

用于对单个****文档的crud操作(如创建、获取、更新、删除单个文档),常见用法如下

向指定索引添加新文档:

POST /索引名/_doc

ES会自动生成唯一文档ID,例:POST /books/_doc → 向 books索引添加新文档。

根据文档ID创建/更新文档:

PUT /索引名/_doc/文档ID

若文档ID不存在,则创建;若已存在,则全量替换文档内容。例:PUT /books/_doc/100 → 创建或替换ID为100的文档。

根据文档ID获取单个文档:

GET /索引名/_doc/文档ID

例:GET /books/_doc/100 → 获取ID为100的文档详情。

根据文档ID删除文档:

DELETE /索引名/_doc/文档ID

例:DELETE /books/_doc/100 → 删除ID为100的文档。

_search端点

用于搜索操作,可以对一个或多个索引执行查询,并返回匹配的文档,常见用法如下

基础搜索

GET /索引名/_search

例:GET /books/_search → 搜索 books 索引中的所有文档(默认返回 10 条)。

带查询条件的搜索:

在请求体中通过 JSON 定义查询条件,如下所示,表示在 books 索引中搜索 title 包含 "elasticsearch" 的文档。

GET /books/_search
{"query": {"match": { "title": "elasticsearch" }}
}

多索引搜索:

同时搜索多个索引,如下所示

GET /索引1,索引2/_search 

所有索引搜索:

搜索所有索引,如下所示,不推荐使用,性能较差。

GET /_all/_search 或 GET /*/_search

_analyze端点

用于测试和调试文本分析过程。通过这个端点,你可以查看指定文本经过特定分析器(analyzer)处理后的分词结果;测试自定义分析器的效果;验证分词器(tokenizer)、过滤器(filter)等组件的组合效果。

基本格式

GET _analyze
{"analyzer": "指定分析器名称","text": "需要分析的文本内容"
}

_bulk端点

用于高效执行批量索引、更新或删除操作。_bulk请求格式基本结构如下:

{"action": {"metadata"}}
{"data"}
{"action": {"metadata"}}
{"data"}
...

其中:

  • action 可以是 indexcreateupdatedelete。
  • metadata 包含索引名称、文档 ID 等信息
  • data 是文档的内容(delete 操作不需要这一行)

常见写法

不指定元数据:这里既不指定 _index,也不指定 _id,此时会由Es自动生成文档ID,同时要求必须在请求的URL中指定默认索引,否则会报错。

POST /music/_bulk
{"index": {}}
{"name": "张三", "age":"18"}

指定元数据:指定文档ID和索引。

注意:_index和_id是可选参数。

_index 代表索引值,如果元数据中不指定 _index,则用请求的URL中指定的默认索引;如果指定了_index,即使请求URL中指定了默认索引,也还是以 _index 中指定的索引为准。

_id 代表文档ID,如果元数据中不指定 _id,则使用Es自动生成文档ID;如果指定 _id,则会判断 _id 的值在文档中是否存在,如果存在则更新,如果不存在则创建新文档。

POST /_bulk
{"index": {"_index": "products", "_id": "1"}}
{"name": "张三", "age":"18"}POST /music/_bulk
{"index": {"_index": "products", "_id": "1"}}  //此时index还是products,products会覆盖music
{"name": "张三", "age":"18"}

多种数据类型操作

POST /_bulk
{"index": {"_index": "products", "_id": "1"}}
{"name": "iPhone", "price": 999, "category": "electronics"}
{"create": {"_index": "products", "_id": "2"}}
{"name": "MacBook", "price": 1999, "category": "electronics"}
{"update": {"_index": "products", "_id": "1"}}
{"doc": {"price": 899}}
{"delete": {"_index": "products", "_id": "2"}}

index:如果文档不存在则创建,存在则更新(全量替换)。

create:仅在文档不存在时创建,存在则失败。

update:部分更新文档,需要使用 doc 字段指定要更新的字段。

delete:删除指定文档。

http://www.hskmm.com/?act=detail&tid=10568

相关文章:

  • 解码C语言宏
  • es中的索引
  • es中的数据类型
  • 防御安全播客第214期:数据泄露与漏洞攻防实战
  • windows使用kibana
  • 03作业
  • 软工作业个人项目
  • YOLO进阶提升 5标注与配置
  • rapidxml中接口函数
  • YOLO进阶提升 6模型训练与测试
  • YOLO进阶提升 4训练准备与数据处理
  • windows安装elasticsearch
  • YOLO进阶提升 5标注与配置补充
  • YOLO进阶提升 3YOLOv4 改进
  • 解码C语言位字段
  • Sql Server 多层嵌套事务的执行结果
  • 面向对象
  • es入门
  • YOLO进阶提升 1YOLOv2 改进
  • C# Avalonia 15- Animation- AnimationPlayerTest
  • 基于Python+Vue开发的体育场馆预约管理系统源码+运行步骤
  • JSONArray集合根据某个字段查询对象
  • 详细介绍:Parasoft C/C++test 针对嵌入式开发的内存错误检测解决方案
  • [WC2006] 水管局长
  • 02-Media-7-uvc.py 应用软件解码的USB摄像头(UVC)捕获视频并显示的程序
  • YOLO入门理解 3YOLOv1 思路与细节
  • YOLO入门理解 评估指标
  • 清除win+r“运行”对话框中的历史记录
  • [ICPC 2024 Yokohama R] Peculiar Protocol
  • YOLO入门理解 基础概念