我们有一个事件,它们具有一个startTime
和一个endTime
,并且想要返回时间重叠的任何事件。
----|-------|------
id start end
----|-------|------
1 01:03 02:05
----|-------|------
2 01:00 01:12
似乎很简单,以上两个事件在时间上重叠。
我一直在尝试使用range
查询来查找重叠时间
{
"range":
{
"eventStart": {
"gte": start,
"lte": ednd
}
}
},
{
"range":
{
"eventEnd": {
"gte": start,
"lte": end
}
}
}
搜索从id 1开始和结束的时间,这是行不通的,因为2的开始在1的开始之前。
我一直在寻找period
的相交点,但不确定是否正确。