格莱姆林日期过滤方法

3

在titan/gremlin中有没有查询日期的方法?比如查找最近X天的所有结果。

非常感谢任何帮助。

1个回答

3
最好的方法是将日期存储为Long值,并在边缘上可能索引这样的字段,以便您可以利用limit()interval等。请参阅此Titan维基页面了解详情:

https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices

它与您的具体请求相对应,使用Twitter示例,其中索引基于时间。 您可以通过简单计算“X天”之前的毫秒数,然后查找所有在此之后出现的结果来找到基于时间的结果:

g.v(1).outE.has('time',T.gte, fiveDaysAgoInMs).inV

请注意,从Titan 0.4.1开始,您还可以定义索引的方向性,使最新的项目首先返回(不再需要反向索引属性)。

https://github.com/thinkaurelius/titan/wiki/Type-Definition-Overview#sortkeytitantype-and-signaturetitantype

此外,如果您不介意一些反规范化,您还可以将日期存储为可排序的字符串值(例如iso-8601),并同时保留长整型值。这有助于您在无需额外转换的情况下轻松查看日期。

非常感谢!我会尝试并告诉你结果。 - sharmami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接