Update 1.ES简介.md
This commit is contained in:
@@ -50,6 +50,19 @@ Elasticsearch是面向文档的,文档是所有可搜索数据的最小单位
|
||||
|
||||
# 类型(Type)
|
||||
|
||||
类型是文档的逻辑容器,类似于表是行的容器。 你将具有不同结构(模式)的文档放在不同类型中。 例如,你可以使用一种类型来定义聚合组,并在人们聚集时为事件定义另一种类型。
|
||||
|
||||
每种类型的字段定义称为映射。 例如,name 将映射为字符串,但 location 下的 geolocation 字段将映射为特殊的 geo_point 类型。 每种字段的处理方式都不同。 例如,你在名称字段中搜索单词,然后按位置搜索组以查找位于你居住地附近的组。
|
||||
|
||||
|
||||
很多人认为 Elasticsearch 是 schema-less 的。大家都甚至认为 Elasticsearch 中的数据库是不需要 mapping 的。其实这是一个错误的概念。schema-less 在 Elasticsearch 中正确的理解是,我们不需要事先定义一个类型关系数据库中的 table 才使用数据库。在 Elasticsearch 中,我们可以不开始定义一个 mapping,而直接写入到我们指定的 index 中。这个 index 的 mapping 是动态生成的 (当然我们也可以禁止这种行为)。其中的数据项的每一个数据类型是动态识别的。比如时间,字符串等,虽然有些的数据类型还是需要我们手动调整,比如 geo_point 等地理位置数据。另外,它还有一个含义,同一个 type,我们在以后的数据输入中,可能增加新的数据项,从而生产新的 mapping。这个也是动态调整的。
|
||||
|
||||
|
||||
Elasticsearch 具有 schema-less 的能力,这意味着无需显式指定如何处理文档中可能出现的每个不同字段即可对文档建立索引。 启用动态映射后,Elasticsearch 自动检测并向索引添加新字段。 这种默认行为使索引和浏览数据变得容易-只需开始建立索引文档,Elasticsearch 就会检测布尔值,浮点数和整数值,日期和字符串并将其映射到适当的 Elasticsearch 数据类型。
|
||||
|
||||
|
||||
|
||||
|
||||
关于Type,类型概念,在6.x版本中,一个索引(Index)可以拥有多个Type。在7.x版本(目前最新版本),一个索引只能拥有一个Type,默认的type就是_doc,在7.x版本中,已经建议删除了。在未来的8.x版本会彻底删除。但是在7.x版本中,一个文档还是必须归属于一个类型。
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user