You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Elasticsearch查询获取大写格式的完整星期名称?

解决方案

要获取全大写的完整星期名称,你可以通过调整日期格式规则或脚本处理来实现,以下是两种可行方案:

方法1:使用日期格式修饰符

Elasticsearch中EEEE是输出完整星期名称的格式符,搭配^^^upper修饰符可直接将结果转为全大写。修改后的查询如下:

{
    "date_histogram": {
        "calendar_interval": "day",
        "field": "record_created_at",
        "format": "EEEE^^^upper"
    }
}

方法2:使用脚本自定义处理

如果需要更灵活的控制,可通过脚本手动提取星期名称并转换为大写:

{
    "date_histogram": {
        "calendar_interval": "day",
        "field": "record_created_at",
        "script": {
            "source": "doc['record_created_at'].value.dayOfWeek.getDisplayName(TextStyle.FULL, Locale.ROOT).toUpperCase()"
        }
    }
}

补充说明

  • 你原查询中用的E是星期的三字母缩写格式符,而EEEE才对应完整星期名称。
  • ^^^upper是Elasticsearch内置的格式修饰符,专门用于将格式化后的文本转为全大写。
  • 脚本方案里,dayOfWeek.getDisplayName(TextStyle.FULL, Locale.ROOT)用于获取无本地化的完整星期名称,再通过toUpperCase()统一转为大写。

内容的提问来源于stack exchange,提问作者DilLip_Chowdary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:53:09