Elasticsearch 8.16 和 JDK 23 中的语言环境变化
作者:来自 ElasticSimon Cooper 随着 JDK 23 即将发布,语言环境信息中有一些重大变化,这将影响 Elasticsearch 以及你提取和格式化日期时间数据的方式。首先,介绍一些背景知识。 什么是语言环境? 每次 Java 程序需要解析或格式化使用文本字符串的日期格式(例如,“Tuesday 16th July”)时,它都需要查阅一组内部表格,其中包含有关应该使用哪些字符串的信息,用于星期几和月份字段等。此信息取决于所使用的语言(英语、法语、阿拉伯语等),在某些情况下还取决于所使用的特定国家或地区。 受影响的不仅仅是日期 — 从数字格式、日历和时间格式到每个时区的名称和每个其他语言环境的所有内容都在这些表中。特别是,这还包括用于计算星期日期的信息 - 从年初开始计算的周数,而不是日历月。所有这些信息都打包到该语言的语言环境中。 Elasticsearch 如何使用语言环境信息? Elasticsearch 在 JDK 上运行。这意味着我们使用 JDK 提供的语言环境信息。每次你有一个解析文本日期或星期日期的日期映射器时,内部 JDK 语言环境表都会用于将这些格式...