我的索引有一个日期字段,格式如下 2020-01-04T05:00:06.870000Z
. 在es查询响应中,我需要表单中的日期 yyyyMMdd
,所以 20200104
. 我尝试使用脚本查询并分别提取了日、月和年。如何将它们串联在一起 _source
得到一个 number
窗体的 yyyyMMdd
?
样本数据:
"_source": {
"updated": "2020-01-04T05:00:06.870000Z"
}
"_source": {
"updated": "2020-01-04T09:00:08.870000Z"
}
"_source": {
"updated": "2019-12-04T01:00:06.870000Z"
}
}
查询:
"sort" : [
{
"_script": {
"type": "number",
"script": {
"lang": "painless",
"source": "doc['updated'].value.getYear()"
//similarly use getMonthOfYear() and getDayOfMonth(). How to concatenate and convert to number ?
},
"order": "desc"
}
}
]
1条答案
按热度按时间p8h8hvxi1#
你可以用
String.format
正确填写数字,然后Integer.parseInt
结果如何。或者,您可以使用以下方法: