文章目录
在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中唯一标识一个文档。
文档源元数据(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
:特定于应用程序的元数据。
本文翻译自:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-fields.html
本博客文章除特别声明,全部都是原创!原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【ElasticSearch文档元数据(Metadata)】(https://www.iteblog.com/archives/1767.html)