代码之家  ›  专栏  ›  技术社区  ›  Justin Albano

查找Lucene文档,其中列表的元素在时间范围之间

  •  0
  • Justin Albano  · 技术社区  · 3 年前

    我创建的Lucene索引有一个列表字段,其中包含某段数据备份时的Epoch值。每次执行备份时,都会向列表中添加一个元素,每次备份过期时,都从列表中删除元素。这导致了类似于以下内容的Lucene文档模式:

    备份时间 数据
    [1000, 2000, 3000, 4000] ...

    我希望创建一个满足以下条件的查询:

    查找这样的文档: 备份时间 介于提供的时间范围之间的列表。

    例如,给定上面的文档,如果使用范围创建查询 [1500 -> 2500] ,文档将被匹配,因为列表中有一个元素( 2000 )介于 1500 2500 相反,如果范围 [2100 -> 2900] 如果提供了,则文档将不匹配,因为列表中不存在介于 2100 2900

    谢谢你的帮助。


    在一边 :我知道我的用例正在改变Lucene的设计。不幸的是,按照我们应用程序目前的设计,这是一个我们必须执行的用例。即使查询很复杂,或者需要花费更多的时间,我仍然在寻找一个可行的解决方案来暂时覆盖这个用例。

    我也愿意接受一个优化查询的替代模式的建议。也就是说,如果以其他方式存储数据会有所帮助,我对该解决方案持开放态度,只要满足上面的查询(用例)。

    0 回复  |  直到 3 年前
    推荐文章