【发布时间】:2014-01-01 06:42:51
【问题描述】:
在 Titan/gremlin 中是否有查询日期? 例如查找过去 X 天的所有结果
任何帮助将不胜感激。
【问题讨论】:
在 Titan/gremlin 中是否有查询日期? 例如查找过去 X 天的所有结果
任何帮助将不胜感激。
【问题讨论】:
最好的方法是简单地将日期存储为 Long 值,并可能在边缘中的此类字段上建立索引,以便您可以利用 limit()、interval 等。请参阅此 Titan wiki 页面题目:
https://github.com/thinkaurelius/titan/wiki/Vertex-Centric-Indices
它通过 Twitter 示例映射到您的特定请求,其中索引 time。您可以根据time 找到结果,只需计算“X 天”的毫秒数,然后查找之后的所有结果:
g.v(1).outE.has('time',T.gte, fiveDaysAgoInMs).inV
请注意,从 Titan 0.4.1 开始,您还可以定义索引的方向性,以便首先返回最新项目(不再需要反向索引属性):
此外,如果您不介意进行一点非规范化,除了 Long 值之外,您还可以将日期存储为可排序的字符串值(例如iso-8601)。这有助于您轻松查看日期,无需额外转换。
【讨论】: