ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mapping——date类型

2019-10-11 16:03:11  阅读:263  来源: 互联网

标签:10 01 doc mapping gg 类型 date type


JSON没有日期数据类型,因此Elasticsearch中的日期可以是:
  包含格式化日期的字符串,例如“2015-01-01”或“2015/01/01 12:10:30”。
  一个长数字,表示自纪元以来的毫秒数。milliseconds-since-the-epoch
  一个整数,表示自纪元以来的秒数。seconds-since-the-epoch. 在内部,日期转换为UTC(如果指定了时区)并存储为表示自纪元以来毫秒的长数字。milliseconds-since-the-epoch   对日期的查询在内部转换为对此长表示形式的范围查询,聚合和存储字段的结果将转换回字符串,具体取决于与字段关联的日期格式。   可以自定义日期格式,但如果未指定格式,则使用默认值:“Strict_Date_Optional_Time|Epoch_Millis”

这意味着它将接受具有可选时间戳的日期,这些时间戳符合Strict_Date_Optional_Time支持的格式或自纪元以来的毫秒数。     es的日期格式默认识别:     #es版本是6.4
 1 PUT gg 
 2 {
 3   "mappings": {
 4     "_doc":{
 5     "properties": {
 6       "date": {
 7         "type": "date" 
 8       }
 9     }
10   }
11 }
12 }
GET gg/_mapping
 1 {
 2   "gg": {
 3     "mappings": {
 4       "_doc": {
 5         "properties": {
 6           "date": {
 7             "type": "date"
 8           }
 9         }
10       }
11     }
12   }
13 }
1 PUT gg/_doc/1
2 { "date": "2015-01-01" } 
3 
4 PUT gg/_doc/2
5 { "date": "2015-01-01T12:10:30Z" } 
6 
7 PUT gg/_doc/3
8 { "date": 1420070400001 } 

创建成功
 1 PUT gg/_doc/4
 2 { "date": "2019-01-01 12:10:30" } 
 3 
 4 
 5 报错,格式不对 
 6 {
 7   "error": {
 8     "root_cause": [
 9       {
10         "type": "mapper_parsing_exception",
11         "reason": "failed to parse [date]"
12       }
13     ],
14     "type": "mapper_parsing_exception",
15     "reason": "failed to parse [date]",
16     "caused_by": {
17       "type": "illegal_argument_exception",
18       "reason": "Invalid format: \"2019-01-01 12:10:30\" is malformed at \" 12:10:30\""
19     }
20   },
21   "status": 400
22 }

 

  手动设置日期字段的格式: #新增一个字段,原来的字段创建之后就无法修改。
1 PUT gg/_doc/_mapping
2 {
3   "properties":{
4     "date1":{
5       "type":"date",
6       "format": "yyyy-MM-dd HH:mm:ss||strict_date_optional_time||epoch_millis"
7     }
8   }
9 }
PUT gg/_doc/4
{ "date1": "2019-01-01 12:10:30" } 

#插入成功 { "_index": "gg", "_type": "_doc", "_id": "4", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 }

查看index的mapping格式:

 1 GET gg/_mapping
 2 
 3 {
 4   "gg": {
 5     "mappings": {
 6       "_doc": {
 7         "properties": {
 8           "date": {
 9             "type": "date"
10           },
11           "date1": {
12             "type": "date",
13             "format": "yyyy-MM-dd HH:mm:ss||strict_date_optional_time||epoch_millis"
14           }
15         }
16       }
17     }
18   }
19 }
GET gg/_search

{
  "took": 4,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 4,
    "max_score": 1,
    "hits": [
      {
        "_index": "gg",
        "_type": "_doc",
        "_id": "2",
        "_score": 1,
        "_source": {
          "date": "2015-01-01T12:10:30Z"
        }
      },
      {
        "_index": "gg",
        "_type": "_doc",
        "_id": "4",
        "_score": 1,
        "_source": {
          "date1": "2019-01-01 12:10:30"
        }
      },
      {
        "_index": "gg",
        "_type": "_doc",
        "_id": "1",
        "_score": 1,
        "_source": {
          "date": "2015-01-01"
        }
      },
      {
        "_index": "gg",
        "_type": "_doc",
        "_id": "3",
        "_score": 1,
        "_source": {
          "date": 1420070400001
        }
      }
    ]
  }
}

 

标签:10,01,doc,mapping,gg,类型,date,type
来源: https://www.cnblogs.com/qianlanseleiguang/p/11654722.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有