8 Elasticsearch基础概念之索引与类型
在上一篇文章中,我们深入探讨了Elasticsearch中的集群与节点的基本概念。掌握了这些概念之后,我们现在将继续前进,讨论Elasticsearch中的另一项基本组成部分:索引和类型。
索引(Index)
在Elasticsearch中,索引
是一个逻辑命名空间,它类似于传统数据库中的“数据库”概念。每个索引都由多个文档组成,这些文档包含了存储的实际数据。索引不仅仅是数据的存储位置,还与数据的搜索和分析方法紧密相关。
创建索引
我们可以使用REST API来创建一个新的索引,例如:
1 | PUT /my_index |
在这个示例中,我们创建了一个名为my_index
的索引,并设置了1
个主分片和1
个副本。
索引命名规则
Elasticsearch的索引名称必须符合以下规则:
- 只能包含小写字母、数字、下划线(
_
)、连字符(-
)、和点(.
)。 - 不能以
_
或-
开头。 - 最大长度不能超过
255
个字符。
查询索引
创建索引后,您可以查询其中的数据。例如,通过以下命令来获取索引的基本信息:
1 | GET /my_index |
这将返回与my_index
相关的元数据,包括映射和设置等。
类型(Type)
在Elasticsearch的早期版本中,类型
用于在同一个索引中存储不同种类的数据。每个类型可以表示一种文档的结构。在Elasticsearch 7.0版本后,已经不推荐使用类型,最终会被移除。因此,在新项目中建议只使用单个类型的索引,但为了理解,我们仍然介绍这个概念。
类型的创建
以下是创建一个包含类型的索引示例:
1 | PUT /my_index/_mapping/my_type |
在这个例子中,我们为my_index
索引创建了一个名为my_type
的类型,并定义了两个字段:name
和age
。
文档与类型的关系
每个类型都包含多个文档。文档是存储在Elasticsearch的基本单位,类似于传统数据库中的行。在新版本中,建议使用“文档”而无需考虑“类型”。
文档的插入
可以通过以下方式向索引中插入文档:
1 | POST /my_index/_doc/1 |
这里我们向my_index
索引中插入了一个文档,文档的ID为1
,包含name
和age
两个字段。注意,在新版本中,您应该使用_doc
作为默认类型。
小结
通过本节的学习,我们了解了 索引
和 类型
的基本构成, 如何创建索引、查询索引以及在索引中插入文档。理解这些基本概念是使用Elasticsearch进行高效数据搜索和分析的基础。
在下一篇文章中,我们将探讨 基础概念之文档结构,进一步深入Elasticsearch的内部工作原理,以及如何有效地设计和存储文档,以增强数据检索的能力。希望你继续关注!
8 Elasticsearch基础概念之索引与类型