elasticsearch - 如何在源脚本中格式化日期?
问题描述
我正在使用terms
带有属性的聚合script
,我知道我可以使用format
属性来获取特定日期格式的日期值;但我想编写所需的格式以获取脚本源代码。
{
"size": 0,
"aggs": {
"NAME": {
"terms": {
"script": {
"source": "doc['Ship Date'].value",
"lang": "painless"
},
"size": 100,
"order": {
"_key": "asc"
}
}
}
}
}
解决方案
您可以执行以下操作
"size": 0,
"aggs": {
"NAME": {
"terms": {
"script": {
"source": "String datetime = 'Thu, 13 Oct 1983 22:15:30 GMT';ZonedDateTime zdt = ZonedDateTime.parse(datetime,DateTimeFormatter.RFC_1123_DATE_TIME); return zdt ",
"lang": "painless"
},
"size": 100,
"order": {
"_key": "asc"
}
}
}
}
您可以将不同的格式解析为 ZonedDateTime.parse() 您可以在此处获得完整的详细信息
推荐阅读
- javascript - If 语句,如果输入中的两个值匹配做某事
- elasticsearch - 如何更新 Elasticsearch 文档中的单个属性
- python-3.x - 当我保存时,我的 vs 代码会闪烁。我打开了 black and flake8 和 formatonSave。为什么会闪烁?如何阻止它?
- google-cloud-dataflow - 如何确定用于运行 Dataflow 作业的服务帐户?
- maven - Gitlab Runner 为每个构建下载 maven 依赖项,不要从缓存中获取!=
- android - 如何在Android中制作闪烁的imageview?
- css - 如何在 react-bootstrap 中删除悬停效果并更改活动选项卡的颜色?
- list - 保存从 Firestore 集合中的 JSON URL 获取的列表
- jena - Apache Jena:将 GraphNode(N3 公式)添加到模型(ARQInternalErrorException)
- c# - 如何在 C#“object.equals”中使用“或”(|)运算符