这篇文章算是对另一篇《Elasticsearch as a Time Series Data Store》的简单翻译吧,自己的理解吧。
- 首先_source被关闭了,这样原始的json文档不会被重复存储一遍。
- 其次_all也被关闭了。而且每个字段的store都是False,也就是不会单独被存储。
- 这些都关掉了,那么数据存哪里了?存在doc_values里。doc_values用于在做聚合运算的时候,根据一批文档id快速找到对应的列的值。doc_values在磁盘上一个按列压缩存储的文件,非常高效。
curl -XPOST http://172.16.18.116:9200/test -d '
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0,
"index.query.default_field": "timestamp",
"index.mapping.ignore_malformed": false,
"index.mapping.coerce": false,
"index.query.parse.allow_unmapped_fields": false
},
"mappings": {
"test": {
"_source": {"enabled": false},
"_all": {"enabled": false},
"properties": {
"timestamp": {
"type": "date",
"index": "no",
"store": false,
"dynamic": "strict",
"doc_values": true,
"fielddata": { "format