我对弹性搜索很新,我对它提供的所有功能印象深刻。现在我有一个特例,我不确定elasticsearch是否能够处理它。
总的来说,我在日期范围内搜索一个类型。 但此外我还需要在此日期范围之前和之后的第一个日期。 我不知道这些日期离我们有多远,所以我不能在日期范围内添加特定的天数。
我知道这可以通过3个不同的查询来实现,但是在一个查询中也可以吗?
有什么想法吗?
编辑(示例):
[uuid1] = [
['id' => 1, 'date' => '1970/01/01 12:00:00', 'val' => 'ages ago'],
['id' => 2, 'date' => '2010/01/01 12:00:00', 'val' => 'randomValueSomewhereInThePast'],
['id' => 3, 'date' => '2017/01/03 12:00:00', 'val' => 'valueInTimeRange3'],
['id' => 4, 'date' => '2017/01/04 12:00:00', 'val' => 'valueInTimeRange4'],
['id' => 5, 'date' => '2017/01/05 12:00:00', 'val' => 'valueInTimeRange5'],
['id' => 6, 'date' => '2017/01/06 12:00:00', 'val' => 'valueInTimeRange6'],
['id' => 7, 'date' => '2020/01/05 12:00:00', 'val' => 'randomValueSomewhereInTheFuture']
['id' => 8, 'date' => '9999/01/05 12:00:00', 'val' => 'wayTooFarAway']
]
如你所见,我有几个约会。现在我有一个来自
的给定DateRange2017/01/03 12:00:00 to 2017/01/06 12:00:00
所以带范围的简单请求会返回值3,4,5,6。 但我需要价值观2& 7还有。 这些是我的范围之前和之后的日期。我不知道他们什么时候这样,我不能只调整响了。