3分钟快速了解ES中索引,映射,文档的概念

这篇具有很好参考价值的文章主要介绍了3分钟快速了解ES中索引,映射,文档的概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Elasticsearch 中,索引、映射和文档是数据存储和组织的基本概念。以下是这三个概念的关系和用法:

  • 索引:索引是用于存储和组织具有类似结构的文档集合。在我们的书籍示例中,我们可以创建一个名为 “books” 的索引来存储书籍信息。
  • 映射:映射定义了索引中文档的字段及其类型。映射可以用于定义字段的数据类型、分析器等。在我们的书籍示例中,我们可以为 “books” 索引定义一个映射,包括书名、作者、出版日期和简介等字段。
  • 文档:文档是索引中的单个数据实体,包含一组字段及其值。在我们的书籍示例中,每本书都可以表示为一个文档,包含书名、作者、出版日期和简介等字段。

现在,我们将使用一个包含书籍信息的示例来说明这些概念,并使用中文分词器(如 ik_smartik_max_word)来处理书籍简介。

  1. 创建带有映射的索引:

首先,我们创建一个名为 “books” 的索引,其中包含一个使用中文分词器的映射。

curl -X PUT "localhost:9200/books?pretty" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "analysis": {
      "analyzer": {
        "ik_analyzer": {
          "type": "custom",
          "tokenizer": "ik_max_word"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "ik_analyzer"
      },
      "author": {
        "type": "keyword"
      },
      "publish_date": {
        "type": "date"
      },
      "description": {
        "type": "text",
        "analyzer": "ik_analyzer"
      }
    }
  }
}'

在这个示例中,我们创建了一个名为 “books” 的索引,并定义了一个使用 ik_max_word 中文分词器的映射。

  1. 向带有映射的索引中添加文档:

现在我们可以将书籍文档添加到 “books” 索引中。例如:

curl -X POST "localhost:9200/books/_doc?pretty" -H 'Content-Type: application/json' -d'
{
  "title": "活着",
  "author": "余华",
  "publish_date": "1992-01-01",
  "description": "《活着》讲述了农村人福贵悲惨的一生,通过福贵的人生遭遇,展示了一个在命运压迫下挣扎求生的弱者形象。"
}'
  1. 使用映射进行搜索:

现在我们可以使用 Elasticsearch 的搜索功能来查询包含特定关键词的书籍。例如,我们可以搜索书籍简介中包含 “命运” 的书籍:

curl -X GET "localhost:9200/books/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "match": {
      "description": "命运"
    }
  }
}'

这将返回一个包含搜索结果的 JSON 对象。如果一切正常,您将在结果中看到 “活着” 这本书。

这个示例展示了如何在 Elasticsearch 中使用索引、映射和文档来存储和检索书籍数据,并使用中文分词器处理书籍简介。这三个概念构成了 Elasticsearch 数据组织的基本结构,掌握它们有助于更好地使用 Elasticsearch 进行数据管理和搜索。

在 Elasticsearch 的 REST API 请求中,pretty 参数用于格式化 JSON 响应。当添加 ?pretty 参数时,Elasticsearch 将返回格式化后的、易于阅读的 JSON 响应,其中包含换行符和缩进。这使得 JSON 输出更容易阅读和理解,尤其是在手动发送请求并查看结果时。

如果不使用 ?pretty 参数,Elasticsearch 会返回一个紧凑的 JSON 响应,不包含换行符和缩进。这对于减少响应数据的大小和提高传输速度可能是有益的,尤其是在程序中处理结果时。

总之,?pretty 参数使得 Elasticsearch 的 JSON 响应更易于阅读,尤其是在手动发送请求和查看结果时。但在实际应用程序中处理结果时,您可能不需要使用 ?pretty 参数,因为紧凑的 JSON 响应具有更小的数据大小和更快的传输速度。

在上面的 curl 命令示例中,-d 选项是 curl 的一个命令行参数,表示 “data”。它用于指定要发送到服务器的数据。在这些示例中,我们使用 -d 参数向 Elasticsearch 服务器发送 JSON 数据,如索引设置、映射、文档和查询。

当使用 -d 参数时,curl 默认执行 HTTP POST 请求。如果需要使用其他 HTTP 方法(如 PUT、GET、DELETE 等),可以通过 -X 参数指定,如 -X PUT-X GET-X DELETE

总之,-d 参数在 curl 命令中用于指定要发送到服务器的数据。在这些 Elasticsearch 示例中,我们使用 -d 参数向服务器发送 JSON 数据。文章来源地址https://www.toymoban.com/news/detail-463681.html

到了这里,关于3分钟快速了解ES中索引,映射,文档的概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【ES】Elasticsearch核心基础概念:文档与索引

    es的核心概念主要是:index(索引)、Document(文档)、Clusters(集群)、Node(节点)与实例,下面我们先来了解一下Document与Index。 在讲解Document与Index概念之前,我们先来了解一下RESTful APIs,因为下面讲解Document和Index的时候会使用到。 当我们把es服务器启动起来之后,要怎么调用呢?

    2024年02月05日
    浏览(49)
  • 简述Elasticsearch(ES)是什么 全文搜索概念 (倒排索引 管理文档)

    今天 我们来说说 NoSql 中的 Elasticsearch 大家基本都叫它 ES 官方介绍 它是一个分布式全文搜索引擎 分布式是一个系统架构的概念 而 全文搜索引擎 全文搜索 可以说基本大家天天都在接触 就比如 我们京东购物 想买什么东西 在全文输入框中搜索 它就会在所有物品中 帮你找出需

    2024年01月25日
    浏览(46)
  • 3分钟快速了解mysql和es中字段类型相似之处

    Elasticsearch 和 MySQL 的字段类型在很多方面具有相似之处。这些相似之处主要反映在它们表示基本数据类型的能力上。下面是 Elasticsearch 和 MySQL 中一些相似的字段类型: 文本: Elasticsearch: text 和 keyword MySQL: VARCHAR , CHAR , TEXT , TINYTEXT , MEDIUMTEXT , LONGTEXT 在 Elasticsearch 中, text

    2024年02月05日
    浏览(41)
  • 纯小白也能看懂,十分钟帮你快速了解云原生概念

    随着云原生相关技术的蓬勃发展,不管你是刚入职的小白,还是多年经验的老手,都在关注这种技术趋势。但相关内容太多,导致一些小白无从入手,也没有一个全局的概念。那就花10分钟看完本文,帮你快速了解云原生的起源和发展,并介绍一些技术现状 📕作者简介:战斧

    2024年02月14日
    浏览(73)
  • kafka--技术文档-基本概念-《快速了解kafka》

    学习一种新的消息中间键,卡夫卡!!! 官网网址 Apache Kafka         Kafka是一种开源的分布式流处理平台,由Apache软件基金会开发,用Scala和Java编写。它是一个高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。这种动作可以是网页浏览、

    2024年02月11日
    浏览(51)
  • elasticSearch创建索引库、映射、文档

    创建索引库 使用postman或curl这样的工具创建 参数: number_of_shards:设置分片的数量,在集群中通常设置多个分片,表示一个索引库将拆分成多片分别存储不同的结点,提高了ES的处理能力和高可用性,入门程序使用单机环境,这里设置为1。 number_of_replicas:设置副本的数量,设

    2024年02月04日
    浏览(51)
  • ES简单教程(一)创建ES映射实体对象,即索引

    声明 :本教程可能并不完善,没有一个总览的规划,各个模块都相对独立,做到哪写到哪,仅供参考,共同学习。 ES的Java映射实体类主要与ES的索引匹配,跟传统的数据库稍微有点区别:ES的索引就相当于是表,ES的文档就相当于表里的每一条数据,大致可以这么理解作为上

    2024年02月12日
    浏览(41)
  • ElasticSearch第八讲 ES索引字段映射类型以及动态映射相关操作

    ES的映射:映射就是 Mapping,它用来定义一个文档以及文档所包含的字段该如何被存储和索引。所以,它其实有点类似于关系型数据库中表的定义。其中ES中映射可以分为动态映射和静态映射,静态映射就是提前创建好对应字段文档映射关系,如果插入的类型不对会出错,而动

    2024年02月10日
    浏览(47)
  • ES映射操作 已创建的ES索引 增加映射字段(类似DB库增加给表增加字段)一样

    ES已存在的索引下添加映射 解释如下:给ticketing_order_info的索引,增加映射字段verificationCodeState,字段类型为integer 实现: PUT /ticketing_order_info/_mapping/ {     \\\"properties\\\": {         \\\"verificationCodeState\\\": {             \\\"type\\\": \\\"integer\\\"         }     } } PUT /ticketing_order_i

    2024年02月16日
    浏览(58)
  • es elasticsearch 九 索引index 定制分词器 type结构后期弃用原因 定制动态映射 动态映射模板 零停机重建索引

    目录 索引index 定制分词器 Type底层结构及弃用原因 定制 dynamic mapping 定制dynamic mapping template 动态映射模板 零停机重建索引 生产环境应该度别名数据 索引index Put /index Stings 分片 Mapping 映射 Aliases 别名 增加 Put my_index2 {        \\\"settings\\\":{           \\\"number_of_shards\\\":3,      

    2024年02月06日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包