【问题标题】:Lucene Index History / Last File IndexedLucene 索引历史/最后索引的文件
【发布时间】:2014-06-30 16:41:37
【问题描述】:

有没有办法找出在 Lucene 索引中输入的最后一个 Lucene 文档?例如。 Lucene 是否会以某种方式跟踪历史记录,或者我能否以某种方式提取已添加到索引中的文件(文档)的顺序?

背景:我想建立一个包含数百万个文档的非常大的索引,需要几天时间才能运行。我想要一个索引实现来检测添加的最后一个文件是什么,并在再次重新启动时继续在这个位置。

【问题讨论】:

    标签: java lucene indexing


    【解决方案1】:

    不是真的,不。您将获得的最接近的方法是从索引中获取最高的文档 ID。如果您只是开始将文档添加到空索引中,并且没有任何内容被删除或更新或任何类似的东西,那么它甚至可能会起作用。但不能保证按顺序分配文档 ID。

    如果您需要知道添加文档的顺序。您应该添加一个处理该问题的字段。日期/时间存储的索引时间或顺序 ID 都可以很好地发挥作用。虽然这听起来有点过分,但您只需要存储一个标识符来识别要从中恢复的源文档。在这种情况下,将那个 id 存储在任何地方。在 lucene 中,在数据库中,在 txt 文件中,是一个序列化的字符串。任何让你开心的事情。

    【讨论】:

    • 有道理,我存储了从我的收藏中索引的最后一个 id,这似乎很好用。我实际上存储了每个 id,这样我就不必怀疑哪个可能是两倍,并且运行时性能非常好......
    猜你喜欢
    • 1970-01-01
    • 2012-09-16
    • 2011-02-05
    • 2013-06-24
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多