在ElasticSearch中查找时间重叠的事件

时间:2019-02-01 02:13:52

标签: elasticsearch

我们有一个事件,它们具有一个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的相交点,但不确定是否正确。

0 个答案:

没有答案