一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ElasticSearch文档元数据(Metadata)的详解

时间:2016-09-03 编辑:简简单单 来源:一聚教程网


 在Elasticsearch下,一个文档除了有数据之外,它还包含了元数据(Metadata)。每创建一条数据时,都会对元数据进行写入等操作,当然有些元数据是在创建mapping的时候就会设置,元数据在Elasticsearch下起到了非常大的作用。本文将对ElasticSearch中的元数据进行介绍,后续文章将分别对这些元数据进行解说。

身份元数据(Identity meta-fields)

身份元数据顾名思义就是能够唯一标识Document的,Elasticsearch中主要有四个身份元数据:

  1、_index:文档所属的index,这个index相当于关系型数据库中的数据库概念,它是存储和索引关联数据的地方;

  2、_uid:其由_type和_id组成;

  3、_type:文档所属的mapping type,相当于关系型数据库中的表的概念;

  4、_id:文档的id,这个可以由Elasticsearch自动生成,也可以在写入Document的时候由程序指定。它与_index和_type组合时,就可以在Elasticsearch中唯一标识一个文档。

如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop
文档源元数据(Document source meta-fields)

文档源元数据主要有两个:

  1、_source:这个字段标识文档的主体信息,也就是我们写入在ElasticSearch中的数据;

  2、_size:这个字段存储着_source字段中信息的大小,单位是byte;不过这需要我们安装mapper-size插件。
索引元数据(Indexing meta-fields)

  1、_all:这个字段索引了所有其他字段的值;

  2、_field_names:存储着文档中所有值为非空的字段信息,这在快速查找/过滤值存在或者值为空的情况下非常有用;

  3、_timestamp:存储着当前文档的时间戳信息,可以由程序指定,也可以由ElasticSearch自动生成,其值会影响文档的删除(如果启用了TTL机制);

  4、_ttl:标识着当前文档存储的时长,超过了这个时长文档将会被标识为delete,之后会被ElasticSearch删除。
路由元数据(Routing meta-fields)

  1、_parent:用于创建两个映射的父子之间的关系;

  2、_routing:自定义路由值,可以路由某个文档到具体的分片(shard)。
其他元数据

  _meta:特定于应用程序的元数据。

热门栏目