首页 > 其他分享 >ElasticSearch 实战:ElasticSearch索引操作

ElasticSearch 实战:ElasticSearch索引操作

时间:2024-04-04 23:00:30浏览次数:18  
标签:实战 index 映射 type 索引 ElasticSearch my 模板

Elasticsearch 实战:Elasticsearch 索引操作

在使用 Elasticsearch 进行数据管理时,索引操作是核心的一部分。本篇将详细介绍如何进行索引的创建、查看、更新(包括映射修改)、关闭与开启、删除等操作,以及如何进行索引模板设置以简化索引管理。

**1. 创建索引

创建索引可以通过发送一个 HTTP PUT 请求到对应的索引名。同时,可以在请求体中定义索引的映射(mapping)和其他设置。以下是一个创建名为 my_index 的索引并定义一个简单映射的例子:

PUT /my_index
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 0
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text"
      },
      "description": {
        "type": "text",
        "analyzer": "english"
      },
      "price": {
        "type": "float"
      },
      "created_at": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss"
      }
    }
  }
}

这里:

  • settings 部分定义了索引级别的配置,如分片数 (number_of_shards) 和副本数 (number_of_replicas)。
  • mappings 部分定义了索引中字段的类型、分析器等属性。例如,titledescription 字段被定义为 text 类型,description 字段使用了 english 分析器,price 字段为 float 类型,created_at 字段为 date 类型并指定了日期格式。

**2. 查看索引

要查看某个索引的详细信息,包括设置、映射等,可以发送一个 GET 请求到索引名:

GET /my_index

响应将包含索引的完整定义。

**3. 更新索引映射

索引映射一旦创建后,通常不允许直接修改已存在的字段映射。但是,可以为现有字段添加新的属性,或者为未映射的字段添加映射。例如,给 my_index 添加一个新的字段 category

PUT /my_index/_mapping
{
  "properties": {
    "category": {
      "type": "keyword"
    }
  }
}

**4. 关闭与开启索引

有时出于维护、备份或性能调整的目的,可能需要临时关闭或重新开启索引。关闭索引:

POST /my_index/_close

开启索引:

POST /my_index/_open

**5. 删除索引

彻底删除一个不再需要的索引,使用 DELETE 请求:

DELETE /my_index

**6. 索引模板

索引模板(Index Templates)可以用来自动应用一组预定义的设置和映射到符合特定命名模式的新创建索引上。这对于具有相似结构的多个索引非常有用,可以简化管理并确保一致性。创建模板:

PUT _template/my_template
{
  "index_patterns": ["my_index_*"],  // 匹配索引名的模式
  "settings": {
    // 共享的索引设置
  },
  "mappings": {
    // 共享的映射定义
  }
}

当创建一个名称符合 my_index_* 模式的索引时,该模板会自动应用。

**7. 查看所有索引

要列出集群中所有的索引,可以发送一个 GET 请求到 _cat/indices 端点:

GET _cat/indices?v

这将返回一个表格形式的索引列表,包括索引名、状态、分片数、文档数等信息。

通过熟练掌握上述索引操作,您可以有效地管理 Elasticsearch 中的数据存储结构,适应不断变化的业务需求,并确保数据的高效检索与分析。记得在实际操作前备份重要数据,特别是在进行映射更改或删除索引等不可逆操作时。

标签:实战,index,映射,type,索引,ElasticSearch,my,模板
From: https://blog.csdn.net/qq_33240556/article/details/137221648

相关文章

  • 搜索引擎技术
    搜索引擎技术是互联网时代的核心技术之一,它致力于帮助用户从海量网络信息中快速准确地找到所需的内容。搜索引擎的工作原理大致可以分为以下几个关键步骤:信息抓取(WebCrawling/Spidering):搜索引擎会通过爬虫程序(Spider或Crawler)不断地在网络上漫游,通过跟踪链接从一个网页......
  • MySQL 索引详解
    为什么要使用索引?通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快数据的检索速度(大大减少的检索的数据量), 这也是创建索引的最主要的原因。帮助服务器避免排序和临时表。将随机IO变为顺序IO可以加速表和表之间的连接,特别是在实现数据的参考完整......
  • Elasticsearch与Clickhouse的对比分析
    ClickHouse和Elasticsearch是两种不同的数据存储和分析工具,各自在不同的用例和场景下发挥着作用。数据类型:ClickHouse:主要用于结构化数据,特别擅长处理大规模的数据仓库和分析场景,支持SQL查询。Elasticsearch:适用于非结构化或半结构化数据,特别擅长全文搜索和日志分析,支......
  • 【粉丝福利社】《游戏力:竞技游戏设计实战教程》(文末送书-进行中)
    ......
  • flutter_weixin索引条实现
     1、定义索引条List<String>side采用Stack,用Positioned将其位置调整到屏幕右侧2、将姓名经行排序,使用PinyinHelpertitlesList.sort((Stringa,Stringb){StringaPinyin=PinyinHelper.getFirstWordPinyin(a).toUpperCase();StringbPinyin=PinyinHel......
  • MATLAB实战 | 仓库选址问题
    MATLAB实战|仓库选址问题(附视频)https://mp.weixin.qq.com/s/uIEmBJGcIm7AK4qsW0n2Aw  01应用实战【例7-19】仓库选址问题。某公司有A、B、C、D、E共5个工厂,分别位于xy平面上的坐标点(10,10)、(30,50)、(16.667,29)、(0.555,29.888)和(22.2221,49.988)处。设两点之间的距离表......
  • 加入云原生实战营(星球),带你进阶 Go + 云原生高级开发工程师
    过去1年,趁着闲暇时间,我创建了一个Go+云原生技术学习社群,旨在帮助你快速进阶为Go+云原生高级开发工程师,提高你的职场竞争力、扩展职业宽度,最终谋得一份好差事(进入大厂、升职加薪)。本篇文章,我来详细介绍下云原生实战营知识星球,让你对本知识星球有一个充分的了解,通过这些了......
  • 哈佛大学商业评论 -- 第一篇:为什么每个企业都需要制定一个增强现实战略?
    --《经理们的增强现实手册》(共5篇)(WhyEveryOrganizationNeedsanAugmentedRealityStrategy)AR将全面融入公司发展战略!AR将成为人类和机器之间的新接口!AR将成为人类的关键技术之一!请将此文转发给您的老板!--- 本文作者:MichaelE.Porter和JamesE.Heppelmann虽然物......
  • Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
    数据库性能优化是确保数据库系统高效运行的关键步骤。以下是一些常见的数据库性能优化手段:1.索引优化:创建索引:为经常用于查询条件的字段创建索引,可以大大加快查询速度。避免过多索引:虽然索引可以加快查询,但过多索引会减慢写操作,并占用额外空间。使用复合索引:当查询条件包......
  • AI大模型工具应用实战篇之绘画
    1、核心说明提示词最好用英文、用词语、短语交流更方便大模型理解2、万能公式主体描述:主体目标,比如:兔子、猫、西瓜、老人、小孩内容描述:在哪里,在干什么、穿什么、戴什么等绘画类型:水墨画、油画、素描、速写、水彩画、版画、漫画、插画绘画风格:赛博朋克风格、现代风格......