获取详细信息或检索已删除的笔记文档

To get details or to retrieve deleted notes documents

我在做什么 :

来自 java 代码我正在检索笔记数据库并使用全文索引索引该数据库的所有文档 使用 solrj 客户端并将特定文档的索引数据保存在全文服务器上。

假设当同一个数据库再次进行索引时,认为该数据库中已在全文服务器上建立索引的任何文档已被删除,

但此文档已从笔记数据库中删除,因此我不想在已删除文档的全文服务器上保留(意味着要删除)索引数据。

那么我怎么知道删除了哪个文档

我在想的是,在索引时存储文档的 ID 和数据库名称,这样我就会有索引文档的记录,这样我就可以识别哪些文档从特定数据库中删除了.

还有其他有效的方法吗?

感谢您阅读问题。

文档的Document universal id至少对于一个完整的数据库来说是唯一的标识。

您可以在 Java

中使用 Document.getUniversalID() 获得

通过设计,每个唯一 ID 在世界范围内都是唯一的,但作为设计师,您可以绕过这一点(unids 是可写的),并且副本当然具有具有相同唯一 ID 的文档。

将 unid 与数据库的文件路径结合起来,那么它真的是唯一的。

现在只需要记住所有你编入索引的 unids 并在下一次 运行 检查之后,如果有一些你再也找不到了(例如,只需删除每个 "found" unid - 路径键来自你 existing indices- 列表,最后里面的东西都不存在了)。

背景
在 NSF 数据库中删除的每个文档在最终被清除之前(至少)90 天都变成所谓的 Deletion Stub。 每个数据库的时间间隔是可配置的,可以少于 90 天,如果管理员决定的话...

这些删除存根仍然包含 unid 作为信息。它们非常适合您的目的(因为这正是它们用于名为 replication 的内部流程的目的)。

不幸的是,对于具有 Java 的数据库,没有简单的方法来获取这些删除存根。
种方法可以通过 external tools or C-API from LotusScript 获得它们,但是 Java 中的 none 很容易使用。