ElasticSearch文档(document)在index上的增删改查

文章目录

一、document定义:

  1. 在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。它是一条具有结构化数据的记录,以 JSON(JavaScript Object Notation)格式表示。

  2. 每个文档都有一个唯一的标识符,称为 _id。如果你没有为文档提供自定义的 _id 值,Elasticsearch 将为其生成一个唯一的标识符。

  3. 文档可以包含任意数量的字段,每个字段都有一个字段名和一个对应的值。字段的值可以是文本、数字、日期、布尔值、数组或嵌套的对象。

  4. 在 Elasticsearch 中,文档是不可变的。这意味着一旦创建了文档,你不能直接修改它,而是通过替换整个文档来实现更新。

  5. 文档通常被组织在索引中,索引是一组具有共同特征的文档集合。你可以根据索引、类型和标识符来访问和操作文档。

  6. 在查询数据时,你可以使用 Elasticsearch 查询语言(Elasticsearch Query DSL)来搜索和过滤文档。

  7. 总结起来,Elasticsearch 中的文档是以 JSON 格式存储的记录,每个文档都有唯一的标识符,可以包含任意数量的字段和对应的值。文档是不可变的,可以通过索引、类型和标识符进行访问和操作。

二、单条增删改查

1、创建索引:

java 复制代码
PUT /myindex

2、添加文档:

java 复制代码
POST /myindex/_doc/1
{
  "title": "Example Document",
  "content": "This is an example document"
}

3、获取文档:

java 复制代码
GET /myindex/_doc/1

4、更新文档:

java 复制代码
POST /myindex/_doc/1/_update
{
  "doc": {
    "title": "Updated Document",
    "content": "This document has been updated"
  }
}

执行更新:POST /myindex/_doc/1/_update

再次查询:GET /myindex/_doc/1

5、删除文档:

java 复制代码
DELETE /myindex/_doc/1

请将 myindex 替换为你想要操作的索引名称。

在 Kibana Console 中逐步执行这些操作,你将能够查看到对索引中文档的增删改查操作的结果。

三、批量增删改查:

1、批量添加文档:

java 复制代码
POST /myindex/_bulk
{"index":{"_id":"1"}}
{"title":"Document 1","content":"This is document 1"}
{"index":{"_id":"2"}}
{"title":"Document 2","content":"This is document 2"}

2、批量更新文档:

java 复制代码
POST /myindex/_bulk
{"update":{"_id":"1"}}
{"doc":{"title":"Updated Document 1"}}
{"update":{"_id":"2"}}
{"doc":{"title":"Updated Document 2"}}

3、批量删除文档:

java 复制代码
POST /myindex/_bulk
{"delete":{"_id":"1"}}
{"delete":{"_id":"2"}}

4、批量查询文档:

java 复制代码
POST /myindex/_msearch
{}
{"query":{"match_all":{}},"size":10}

四、document小结:

  1. 在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。每个文档都有一个唯一的标识符 _id,可以自动生成或自定义。

  2. 文档使用 JSON(JavaScript Object Notation)格式表示,可以包含任意数量的字段。字段由字段名和对应的值组成,值可以是文本、数字、日期、布尔值、数组或嵌套的对象。

  3. 文档是不可变的,一旦创建,不能直接修改。要更新文档,需要替换整个文档。

  4. 文档通常被组织在索引中,索引是一组具有共同特征的文档集合。可以根据索引、类型和标识符来访问和操作文档。

  5. 文档的创建和更新是异步的,意味着写入操作不会立即对搜索结果产生影响。Elasticsearch 会将写入操作存储在内存缓冲区中,然后按照一定的策略将数据刷新到磁盘。

  6. 在查询数据时,可以使用 Elasticsearch 查询语言(Elasticsearch Query DSL)来搜索和过滤文档。通过构建查询语句,可以对文档进行全文搜索、精确匹配、范围过滤等操作。

  7. 文档的性能受到多个因素的影响,包括索引设置、分片和副本配置、硬件性能等。为了提高性能,可以使用批量操作来同时创建、更新或删除多个文档。

  8. 总结起来,Elasticsearch 中的文档是以 JSON 格式存储的记录,每个文档都有唯一的标识符。文档可以包含任意数量的字段和对应的值,是不可变的。可以通过索引、类型和标识符来访问和操作文档,使用查询语言进行搜索和过滤。文档的性能受到多个因素的影响,可以通过批量操作提高性能。

相关推荐
阿里云大数据AI技术9 小时前
更快、更稳、更省:揭秘阿里云 Elasticsearch 存算分离与弹性扩缩
elasticsearch
阿里云大数据AI技术10 小时前
Search Lake:ES x Paimon 让湖上多模态数据可搜可用
人工智能·elasticsearch·搜索引擎
Elasticsearch19 小时前
Elastic 如何利用磁盘支持的追踪存储将 OpenTelemetry 尾部采样内存占用降低 65%
elasticsearch
.柒宇.20 小时前
ELK日志分析系统实战指南:Elasticsearch搭建与入门(8.18.8版本)
运维·elk·elasticsearch·logback·日志系统
Linux-18741 天前
分布式链路追踪系统之二进制安装skywalking
elasticsearch·云原生·skywalking·分布式链路追踪系统·应用程序性能监控
阿里云大数据AI技术1 天前
阿里云 Elasticsearch 日志采集与加工服务:让日志链路少一串组件,多一份稳定
人工智能·elasticsearch
heimeiyingwang1 天前
【架构实战】可观测性三支柱:日志、指标、链路的融合
elasticsearch·架构·kubernetes
Elasticsearch2 天前
Elastic Observability 中的 Prometheus 指标:你的 PromQL 可以保持不变地运行
elasticsearch
Elasticsearch2 天前
为什么 Elasticsearch 平台是你的 AI 技术栈中缺失的一块拼图
elasticsearch
Elasticsearch2 天前
数据平台赌注:为什么金融 AI 计划停滞,以及成功者如何扩展规模
elasticsearch