时间区间匹配分析
考虑情形,假设数据库有记录一件事情开始的时间和结束的时间的表。现在需要对其进行检索,要求查找某一时间段内的数据,只要和时间区间有交集就符合检索条件。那么,总共可能出现6种情况(如图)。
相交的有4中情况,要实现匹配可以做以简单归纳,有两种实现考虑:
-
(startT在 ST `和 ET `之间)与 (ST ` 在 startT 和 endT 之间)
-
(ET ` < startT)或(ST ` > endT),然后对这一整个表达式取反
c#下实现Lucene时间查询匹配代码(实现前面讨论的第一种实现)
public Query GetQueryOfSe