8 Elasticsearch基础概念之索引与类型

在上一篇文章中,我们深入探讨了Elasticsearch中的集群与节点的基本概念。掌握了这些概念之后,我们现在将继续前进,讨论Elasticsearch中的另一项基本组成部分:索引和类型。

索引(Index)

在Elasticsearch中,索引是一个逻辑命名空间,它类似于传统数据库中的“数据库”概念。每个索引都由多个文档组成,这些文档包含了存储的实际数据。索引不仅仅是数据的存储位置,还与数据的搜索和分析方法紧密相关。

创建索引

我们可以使用REST API来创建一个新的索引,例如:

1
2
3
4
5
6
7
PUT /my_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}

在这个示例中,我们创建了一个名为my_index的索引,并设置了1个主分片和1个副本。

索引命名规则

Elasticsearch的索引名称必须符合以下规则:

  • 只能包含小写字母、数字、下划线(_)、连字符(-)、和点(.)。
  • 不能以_-开头。
  • 最大长度不能超过255个字符。

查询索引

创建索引后,您可以查询其中的数据。例如,通过以下命令来获取索引的基本信息:

1
GET /my_index

这将返回与my_index相关的元数据,包括映射和设置等。

类型(Type)

在Elasticsearch的早期版本中,类型用于在同一个索引中存储不同种类的数据。每个类型可以表示一种文档的结构。在Elasticsearch 7.0版本后,已经不推荐使用类型,最终会被移除。因此,在新项目中建议只使用单个类型的索引,但为了理解,我们仍然介绍这个概念。

类型的创建

以下是创建一个包含类型的索引示例:

1
2
3
4
5
6
7
8
9
10
11
PUT /my_index/_mapping/my_type
{
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "integer"
}
}
}

在这个例子中,我们为my_index索引创建了一个名为my_type的类型,并定义了两个字段:nameage

文档与类型的关系

每个类型都包含多个文档。文档是存储在Elasticsearch的基本单位,类似于传统数据库中的行。在新版本中,建议使用“文档”而无需考虑“类型”。

文档的插入

可以通过以下方式向索引中插入文档:

1
2
3
4
5
POST /my_index/_doc/1
{
"name": "Alice",
"age": 30
}

这里我们向my_index索引中插入了一个文档,文档的ID为1,包含nameage两个字段。注意,在新版本中,您应该使用_doc作为默认类型。

小结

通过本节的学习,我们了解了 索引类型 的基本构成, 如何创建索引、查询索引以及在索引中插入文档。理解这些基本概念是使用Elasticsearch进行高效数据搜索和分析的基础。

在下一篇文章中,我们将探讨 基础概念之文档结构,进一步深入Elasticsearch的内部工作原理,以及如何有效地设计和存储文档,以增强数据检索的能力。希望你继续关注!

8 Elasticsearch基础概念之索引与类型

https://zglg.work/elasticsearch-zero/8/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论