ES创建索引、打开索引和关闭索引有什么作用,ES的索引和存储的数据有什么区别


在 Elasticsearch (ES) 中,索引(Index)是一个核心概念,它类似于关系型数据库中的数据库或表。索引的管理操作(如创建、打开和关闭)以及索引和存储的数据之间的关系是理解 ES 的关键。以下是详细的解释:

1. 创建索引(Create Index)

  • 作用: 创建索引是初始化一个新的索引结构,包括定义索引的名称、映射(Mappings)、设置(Settings)等。映射定义了索引中字段的类型和属性,设置则包括分片(Shards)和副本(Replicas)的配置。
  • 使用场景: 在开始存储数据之前,需要先创建索引。例如,创建一个名为 my-index 的索引:
PUT /my-index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 2
  },
  "mappings": {
    "properties": {
      "field1": { "type": "text" },
      "field2": { "type": "keyword" }
    }
  }
}

2. 打开索引(Open Index)

  • 作用: 打开索引是将一个已存在但处于关闭状态的索引重新启用,使其可以接受读写操作。默认情况下,创建的索引是打开的。
  • 使用场景: 当需要对一个之前关闭的索引进行查询或写入时,可以通过打开索引来实现。例如,打开名为 my-index 的索引:
POST /my-index/_open

3. 关闭索引(Close Index)

  • 作用: 关闭索引是将一个索引从活动状态转为非活动状态。关闭的索引不会占用系统资源(如内存),但也不能进行读写操作。
  • 使用场景: 当不需要频繁访问某个索引时,可以关闭它以节省资源。例如,关闭名为 my-index 的索引:
POST /my-index/_close

4. 索引和存储的数据的区别

  • 索引(Index): 在 Elasticsearch 中,索引不仅仅是数据的存储位置,它还包含了数据的结构定义(映射)和配置(设置)。索引是逻辑上的数据集合,类似于关系型数据库中的表。
  • 存储的数据: 存储的数据是实际的文档(Documents),每个文档是一个 JSON 对象,包含了具体的数据内容。文档存储在索引中,并根据索引的映射和设置进行组织和管理。
示例

假设我们有一个名为 my-index 的索引,存储了以下文档:

POST /my-index/_doc/1
{
  "name": "John Doe",
  "age": 30,
  "occupation": "Software Engineer"
}
  • 索引: my-index 包含了映射(定义了 nameageoccupation 字段的类型)和设置(如分片和副本的数量)。
  • 存储的数据: 上述 JSON 对象是存储在 my-index 索引中的一个文档。

总结

  • 创建索引: 初始化一个新的索引结构,定义映射和设置。
  • 打开索引: 启用一个已存在但关闭的索引,使其可以接受读写操作。
  • 关闭索引: 将一个索引从活动状态转为非活动状态,节省系统资源。
  • 索引和存储的数据: 索引是数据的逻辑集合,包含结构定义和配置;存储的数据是实际的文档,包含具体的数据内容。

通过理解这些概念,可以更好地管理和使用 Elasticsearch 进行数据存储和检索。

  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值