【发布时间】:2015-09-19 18:24:29
【问题描述】:
我有一个“reservations”字段,它存储了一个项目已被保留的日期数组。
样本数据:
{
reservations: [ "05/03/2015",
"05/04/2015",
"05/05/2015",
"05/18/2015",
"05/19/2015"
]
}
我想在弹性搜索中搜索一个日期范围并返回所有不包含落在这些日期的日期的项目。
所以我有一个 startDate 和 endDate 参数要搜索。但是,elasticsearch 的日期范围过滤器不符合此要求。我可以通过其他方式做到这一点吗?
编辑:
我认为日期范围过滤器不起作用,因为您只能将startDate 和endDate 与gte 或lt 与右侧的一个值进行比较。我基本上在左边有一堆日期(开始/结束日期范围)需要检查,右边有一堆日期(多个预订日期)。
【问题讨论】:
-
为什么日期范围不起作用?你能提供更多细节吗?听起来你尝试了一些东西但没有用
-
@AndreiStefan 我实际上是从一种不同的方式开始处理这个问题 (stackoverflow.com/questions/29820179/…)。但我简化了存储保留日期的方式 - 以纯数组形式。但我认为日期范围过滤器不起作用,因为您只能将
startDate和endDate与gte或lt与右侧的一个值进行比较。我基本上在左边有一堆日期(开始/结束日期范围)需要检查,右边有一堆日期(多个预订日期)。 -
@AyrtonSenna 你找到解决办法了吗?
-
@musa 不是真的,什么都没有。我只是在弹性搜索发回结果后通过在前端对结果进行排序来使用一种解决方法。 (不理想)
标签: arrays date search elasticsearch lucene