使用无痛脚本从 elasticsearch 日期中删除一天

Strip day from elasticsearch date using painless scripting

我有这种格式的日期 November 17th 2016, 12:54:29.000",我需要只使用无痛脚本来获得 17。另外,如果有人可以向我提供 link 有关日期格式的无痛脚本教程。

如果该字段映射为 date,您可以

doc['<field_name>'].date.dayOfMonth.

否则,您需要使用正则表达式,例如

/ (\d{2})/.matcher(doc['<field_name>'].value).group(1).

基于日期的解决方案使用 org.joda.time.MutableDateTime. The regex one uses java.util.regex.Matcher,您必须在 Elasticsearch 配置文件中启用正则表达式 script.painless.regex.enabled=on