在neo4j中,如何按日期编制索引并在日期范围内进行搜索?

2022-09-03 04:10:34

在neo4j中,我如何按日期编制索引并在日期范围内搜索。同样对于时间,我也想在某个日期范围内搜索上午8点到9点之间。


答案 1

将日期和时间作为整数时间戳编制索引。然后,您可以轻松地在索引中搜索其他时间戳之间的日期。您还可以将时间戳的时间部分单独作为另一个整数编制索引,从而允许您查询给定日期之间的特定时间。

示例:存储的日期和时间是“2012-02-05 8:15 AM”,因此在索引中,存储“timestamp=1328447700”和“time=815”

现在,您希望查询 2012-02-01 和 2012-02-10 之间从上午 8:00 到上午 9:00 发生的所有事件的索引。为此,您可以查询索引中的“时间戳>=1328072400和时间戳<=1328936399和时间>=800 和 time<=900”

执行此操作的确切语法取决于您连接到Neo4j(REST或嵌入式)的方式以及您使用的编程语言。但无论如何,这个想法都是一样的。


答案 2

有一个方便的org.neo4j.index.lucene.LuceneTimeline可以做到这一点(在neo4j中使用集成的lucene索引)。


推荐