【问题标题】:Gremlin date filter approachGremlin 日期过滤器方法
【发布时间】:2014-01-01 06:42:51
【问题描述】:

在 Titan/gremlin 中是否有查询日期? 例如查找过去 X 天的所有结果

任何帮助将不胜感激。

【问题讨论】:

    标签: gremlin titan


    【解决方案1】:

    最好的方法是简单地将日期存储为 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 开始,您还可以定义索引的方向性,以便首先返回最新项目(不再需要反向索引属性):

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

    此外,如果您不介意进行一点非规范化,除了 Long 值之外,您还可以将日期存储为可排序的字符串值(例如iso-8601)。这有助于您轻松查看日期,无需额外转换。

    【讨论】:

    • 非常感谢!我会尽力告诉你进展如何。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2014-10-20
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多