一个document并不是简单的包含他的普通数据。同时也包括元数据——关于这个document的信息。有三个元数据是必须的,如下:
_index document存储的地方
_type document表述的类(class)
_id document的唯一标识符
_index
index就像是关系型数据库的database——是数据存储和被索引有关系数据的地方。
事实上,在ES中,数据是被存放在被indexed的shard中的,index就像当于逻辑命名空间,他集合了若干的shard。然而有个细节——我们的应用根本就不关心shard。我们的应用关心的是存放在index的document。ES会处理这些细节的。
我们将要讨论的是怎么样创建管理index。现在要ES为我们创建index。我们要做的就是确定一个index的名称。这个名称必须要是笑小写的,不能用下划线开头,也不能包含标点符号。这里就确定website作为index的名称。
_type
在应用中,我们使用对象描述事情,例如用户,博客,评论,或者email。每个object都属于一个定义了属性或者数据关联的class。user对象也许有name,gender,age和email等。
在关系性数据库,我们把相同的对象存入相同的table中,因为他们有相同的数据结构。同理,在ES中我们使用type区分document表述的对象。
每个type都有自己的mapping或者schema定义。这个定义说明了document的数据结构,这个像极了数据库表的列。不同type的document可以存储在同一个index中,type的mapping告诉ES因该怎么存储这些数据。
我们在Types and Mappings将会讨论怎么样指定和管理mapping,现在我们要依靠ES自动检测我们的数据。
_type能大写,也能小写,但是不能用下划线和标点做为开头,我们将要用user作为type的名称。
_id
id是string类型的,和_index和_type相比,_id在ES中唯一标记了document。当创建一个新的document,你也能生成自己的_id或者ES为你生成一个。
其他的元素据
其他的几种元数据我们见会在Types and Mappings中讨论。用上面的三个元数据,我们已经能够在ES中存储document和通过ID检索了——也就是说,可以用ES作为document存储仓库了。
原文:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_document_metadata.html
document的元数据(document metadata),布布扣,bubuko.com
document的元数据(document metadata)
原文地址:http://www.cnblogs.com/blog1350995917/p/3728774.html