【发布时间】:2014-06-30 16:41:37
【问题描述】:
有没有办法找出在 Lucene 索引中输入的最后一个 Lucene 文档?例如。 Lucene 是否会以某种方式跟踪历史记录,或者我能否以某种方式提取已添加到索引中的文件(文档)的顺序?
背景:我想建立一个包含数百万个文档的非常大的索引,需要几天时间才能运行。我想要一个索引实现来检测添加的最后一个文件是什么,并在再次重新启动时继续在这个位置。
【问题讨论】:
有没有办法找出在 Lucene 索引中输入的最后一个 Lucene 文档?例如。 Lucene 是否会以某种方式跟踪历史记录,或者我能否以某种方式提取已添加到索引中的文件(文档)的顺序?
背景:我想建立一个包含数百万个文档的非常大的索引,需要几天时间才能运行。我想要一个索引实现来检测添加的最后一个文件是什么,并在再次重新启动时继续在这个位置。
【问题讨论】:
不是真的,不。您将获得的最接近的方法是从索引中获取最高的文档 ID。如果您只是开始将文档添加到空索引中,并且没有任何内容被删除或更新或任何类似的东西,那么它甚至可能会起作用。但不能保证按顺序分配文档 ID。
如果您需要知道添加文档的顺序。您应该添加一个处理该问题的字段。日期/时间存储的索引时间或顺序 ID 都可以很好地发挥作用。虽然这听起来有点过分,但您只需要存储一个标识符来识别要从中恢复的源文档。在这种情况下,将那个 id 存储在任何地方。在 lucene 中,在数据库中,在 txt 文件中,是一个序列化的字符串。任何让你开心的事情。
【讨论】: