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

这篇具有很好参考价值的文章主要介绍了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、创建索引:

PUT /myindex

ElasticSearch文档(document)在index上的增删改查,《Elasticsearch》专栏,elasticsearch

2、添加文档:

POST /myindex/_doc/1
{
  "title": "Example Document",
  "content": "This is an example document"
}

ElasticSearch文档(document)在index上的增删改查,《Elasticsearch》专栏,elasticsearch

3、获取文档:

GET /myindex/_doc/1

ElasticSearch文档(document)在index上的增删改查,《Elasticsearch》专栏,elasticsearch

4、更新文档:

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

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

ElasticSearch文档(document)在index上的增删改查,《Elasticsearch》专栏,elasticsearch
再次查询:GET /myindex/_doc/1

ElasticSearch文档(document)在index上的增删改查,《Elasticsearch》专栏,elasticsearch

5、删除文档:

DELETE /myindex/_doc/1

ElasticSearch文档(document)在index上的增删改查,《Elasticsearch》专栏,elasticsearch

请将 myindex 替换为你想要操作的索引名称。
在 Kibana Console 中逐步执行这些操作,你将能够查看到对索引中文档的增删改查操作的结果。

三、批量增删改查:

1、批量添加文档:

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、批量更新文档:

POST /myindex/_bulk
{"update":{"_id":"1"}}
{"doc":{"title":"Updated Document 1"}}
{"update":{"_id":"2"}}
{"doc":{"title":"Updated Document 2"}}

3、批量删除文档:

POST /myindex/_bulk
{"delete":{"_id":"1"}}
{"delete":{"_id":"2"}}

4、批量查询文档:

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 格式存储的记录,每个文档都有唯一的标识符。文档可以包含任意数量的字段和对应的值,是不可变的。可以通过索引、类型和标识符来访问和操作文档,使用查询语言进行搜索和过滤。文档的性能受到多个因素的影响,可以通过批量操作提高性能。文章来源地址https://www.toymoban.com/news/detail-597754.html

到了这里,关于ElasticSearch文档(document)在index上的增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch 索引文档时create、index、update的区别【学习记录】

    本文基于elasticsearch7.3.0版本。 一、思维导图 elasticsearch中create、index、update都可以实现插入功能,但是实现原理并不相同。 二、验证index和create 由上面思维导图可以清晰的看出create、index的大致区别,下面我们来验证下思维导图中的场景: 1、首先明确一点:如何指定是creat

    2024年01月20日
    浏览(47)
  • elasticsearch[一]-索引库操作(轻松创建)、文档增删改查、批量写入(效率倍增)

    在 elasticsearch 提供的 API 中,与 elasticsearch 一切交互都封装在一个名为 RestHighLevelClient 的类中,必须先完成这个对象的初始化,建立与 elasticsearch 的连接。 分为三步: 1)引入 es 的 RestHighLevelClient 依赖: 2)因为 SpringBoot 默认的 ES 版本是 7.6.2,所以我们需要覆盖默认的 ES 版本

    2024年01月16日
    浏览(61)
  • 【搜索引擎】Document indexing and retrieval: 文档索引与检索

    作者:禅与计算机程序设计艺术 搜索引擎作为互联网信息获取的一种重要手段之一,无论是在PC、移动端还是电脑上使用,都可以快速找到想要的信息。而对于文档信息的搜索引擎索引构建,则是一个更加复杂的问题。 文档索引与检索(Document Indexing and Retrieval, DIR)的目标是建

    2024年02月08日
    浏览(45)
  • 大模型从入门到应用——LangChain:索引(Indexes)-[文档加载器(Document Loaders)]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月06日
    浏览(36)
  • 自然语言处理从入门到应用——LangChain:索引(Indexes)-[文档加载器(Document Loaders)]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月11日
    浏览(44)
  • 【ElatsticSearch】ES索引库与文档的增删改查

    mapping是 对索引库中文档的约束 ,常见的mapping属性包括: type:字段数据类型 index:是否创建(倒排)索引,默认为true analyzer:使用哪种分词器 properties:该字段的子字段 举例: 注意ES中并没有数组类型, \\\"score\\\": [99.1, 99.5, 98.9] ,但是允许某个类型的字段有多个值,只管括号

    2024年02月12日
    浏览(39)
  • Elasticsearch:document

    新增文档DSL语法如下: 不加id则会随机生成一个,不便于查询,所以尽可能加入id 实例 执行结果 语法 GET /文档库名/_doc/文档id 实例 GET /es_test/_doc/1 执行结果 语法 DELETE /文档库名/_doc/文档id 实例 DELETE /es_test/_doc/1 执行结果 对文档进行写操作,其version自增1 二次删除文档,出现

    2024年02月11日
    浏览(43)
  • Elasticsearch中Document Routing特性

    Document Routing在Elasticsearch中是一种高级特性,它允许用户在索引文档时指定一个路由值。通过这种方式,可以确保具有相同路由值的所有文档都存储在同一个分片中。这对于提高查询效率特别有用,因为它允许查询只针对包含相关文档的特定分片,而不是整个索引。下面是如

    2024年02月20日
    浏览(38)
  • Elasticsearch Document Update API详解、原理与示例

    private int retryOnConflict = 0:更新冲突时重试次数。 private RefreshPolicy refreshPolicy = RefreshPolicy.NONE:刷新策略。NONE:代表不重试; private ActiveShardCount waitForActiveShards = ActiveShardCount.DEFAULT:执行操作之前需要等待激活的副本数,已在《Elasticsearch Document Get API详解、原理与示例》中详

    2024年04月22日
    浏览(43)
  • 使用springboot对Elasticsearch 进行索引的增、删、改、查

    一 SpringBoot + Elasticsearch 项目环境搭建 1.1 修改pom文件添加依赖 目前使用spring-boot-starter-parent版本为2.2.8.RELEASE 对应spring-data-elasticsearch版本为2.2.8.RELEASE,版本对应可以自行百度,如果不行直接用elasticsearch-rest-high-level-client工具类吧 1.2 新建配置文件 二 RestHighLevelClient的使用 Re

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包