ES查询其生日在指定日期范围之间的成员

时间:2019-08-26 07:47:36

标签: elasticsearch

在弹性搜索中,我要过滤生日在指定日期范围之间的成员,例如: 查找生日在'08 -01'和'09 -01'之间的会员;

存储在es中的生日是这样的: 2018-03-05

这困扰了我很久了,需要帮助!

我尝试了以下脚本: doc.birthday.value.dayOfYear> = params.start && doc.birthday.value.dayOfYear <= params.end;

但这无法处理the年!

下面是相关的代码。

yd := time.Now().YearDay()
script := elastic.NewScript("doc.birthday.size() != 0 && doc.birthday.value.toInstant().atZone(ZoneId.of(params.tz)).dayOfYear >= params.start && doc.birthday.value.toInstant().atZone(ZoneId.of(params.tz)).dayOfYear <= params.end").Lang("painless").Param("start", yd).Param("end", yd+c.StartRecent).Param("tz", "Asia/Shanghai")
q = elastic.NewScriptQuery(script)

0 个答案:

没有答案