有没有办法在无痛的脚本过滤器中访问date_range数组?
我对“ blocked_dates”字段的映射如下:
"blocked_dates": {
"type": "date_range",
"format": "strict_date"
},
数据如下:
"blocked_dates": [
{
"gte": "2019-07-12",
"lte": "2019-07-14"
},
{
"gte": "2019-07-16",
"lte": "2019-07-18"
}
],
我正在使用Amazon ElasticSearch v6.7,所以我不能在脚本过滤器中使用params._source,如果尝试通过doc访问它,则会收到非法的参数。
"blocked_dates = doc['blocked_dates'].value; ",
" ^---- HERE"
类型为[date_range]的字段[blocked_dates]不支持字段数据
我有一个复杂的预订窗口要求,它会检查所选的入住和退房日期是否在另一笔预订的x天(禁止日期)之内,并且必须在脚本中完成。
我可以做一些棘手的事情,例如将date_range数组的副本存储为以逗号分隔的字符串数组(即“ 2019-07-20,2019-09-12”)。然后从无痛脚本过滤器中获取字符串数组,并从中解析出日期。
但这是我的最后选择。