Field [@timestamp] of type [keyword] does not support custom formats

本文解析了在使用Elasticsearch的histogram或date_histogram聚合时遇到的错误,具体为@timestamp字段类型为keyword导致无法进行日期统计的问题,并提供了通过PUT方法重新设置索引类型的解决方法。

问题描述

执行es的聚合histogram 或者date_histogram 返回错误。

传入报文:

{
  "size":0,
  "aggs":{
    "calltime":{
      "date_histogram":{
        "field":"@timestamp",
        "interval":"minute",
        "format" : "yyyy-MM-dd'T'HH:mm:ss"
      }
    }
  }
}

返回报错:

{
   "error":    {
      "root_cause": [      {
         "type": "illegal_argument_exception",
         "reason": "Field [@timestamp] of type [keyword] does not support custom formats"
      }],
      "type": "search_phase_execution_exception",
      "reason": "all shards failed",
      "phase": "query",
      "grouped": true,
      "failed_shards": [      {
         "shard": 0,
         "index": "esb-srvlog-2019-07-21",
         "node": "nruodlnbT8u0tJKTzRs9Eg",
         "reason":          {
            "type": "illegal_argument_exception",
            "reason": "Field [@timestamp] of type [keyword] does not support custom formats"
         }
      }]
   },
   "status": 400
}

原因分析

先通过mapping看看索引的mapping:
在这里插入图片描述
发现@timestamp这个字段是被设置成了 keyword类型。所以es将该字段只是视为关键字的字符串,而不是日期的类型。故也就无法对该字段进行日期的统计。

解决方法

出现类似上面的这种问题,只有重新设置索引类型,将该字段改成所期望的类型,这里应该是。通过PUT方法。如:
在这里插入图片描述

需要注意的是,重新设置索引后只能对后面插入的文档有效,之前的文档类型不会被改变。

内容概要:本文详细阐述了基于非线性反步法(Backstepping)与Lyapunov函数引导的模型预测控制(Lyapunov-MPC)相结合的自主水下航行器(AUV)轨迹跟踪控制策略,并完整集成了经典的Fossen水下航行器动力学模型。通过Matlab代码实现,精准复现了高水平期刊的研究成果,重点攻克了AUV在强非线性、强耦合及外部干扰复杂的海洋环境中实现高精度轨迹跟踪的技术难题。该方法充分发挥反步法在系统化构造控制器方面的优势,利用虚拟控制律逐层推进,并结合Lyapunov函数严格证明系统的全局渐近稳定性,同时引入MPC优化未来时域内的控制输入,有效处理系统约束,显著增强了控制器的鲁棒性与动态响应性能。; 适合人群:具备自动控制原理、非线性系统分析、现代控制理论基础,并熟练掌握Matlab/Simulink编程的研究生、博士生、科研人员及从事水下机器人、无人艇等复杂系统控制算法研发的工程技术人员。; 使用场景及目标:①深入研究并掌握非线性反步控制的设计思想、虚拟控制量构建方法及Lyapunov稳定性分析的核心技巧;②理解如何将Lyapunov稳定性判据与模型预测控制框架有机结合,实现稳定性与最优性的统一;③应用于自主水下航行器、无人潜航器(UUV)、水面无人艇(USV)等复杂动力学系统的高精度运动控制、路径跟踪与自主导航的算法开发与仿真验证;④作为撰写高水平学术论文或学位论文的理论与代码参考。; 阅读建议:建议读者首先深入理解Fossen动力学模型的物理意义与数学表达,然后循序渐进地分析控制器设计的每一步推导过程,重点关注虚拟控制律的选取、Lyapunov候选函数的构造以及MPC优化问题的建立与求解。务必动手调试提供的Matlab代码,结合Simulink进行可视化仿真,对比不同工况下的控制效果,以全面掌握该复合控制策略的精髓与实际应用要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值