Indexing 在运行LS代理时为文档编制索引时超过了配置的最大索引大小

Indexing 在运行LS代理时为文档编制索引时超过了配置的最大索引大小,indexing,lotus-notes,lotusscript,Indexing,Lotus Notes,Lotusscript,在我们的项目中,我们有一个LS代理,它应该删除并创建一个新的FT索引。我们还没有弄清楚为什么不能自动完成索引更新(尽管在我们的数据库选项中,这设置为每天更新索引)。所以我们决定制作大致相同的东西,但使用非常简单的代理。代理看起来像这样,每天晚上都在运行: Option Public Option Declare Dim s As NotesSession Dim ndb As NotesDatabase Sub Initialize Set s = New NotesSessio

在我们的项目中,我们有一个LS代理,它应该删除并创建一个新的FT索引。我们还没有弄清楚为什么不能自动完成索引更新(尽管在我们的数据库选项中,这设置为每天更新索引)。所以我们决定制作大致相同的东西,但使用非常简单的代理。代理看起来像这样,每天晚上都在运行:

Option Public

Option Declare

Dim s As NotesSession
Dim ndb As NotesDatabase

Sub Initialize

    Set s = New NotesSession
    Set ndb = s.CurrentDatabase
    Print("BEFORE REMOVING INDEXES")
    Call ndb.Removeftindex()
    Print("INDEXES HAVE BEEN REMOVED SUCCESSFULLY")
    Call ndb.createftindex(FTINDEX_ALL_BREAKS, true)
    Print("INDEXES HAVE BEEN CREATED SUCCESSFULLY")

End Sub
在大多数情况下,它工作得很好,但有时当有人创建的文档超过12MB时(我们真的不知道这是怎么可能的),代理无法创建索引。(但最新索引已被删除)。 错误消息是:

31.05.2018 03:01:25   Full Text Error (FTG): Exceeded max configured index 
size while indexing document NT000BD992 in database index *path to FT file*.ft

我的问题是如何避免这个问题?我们已经通过以下命令扩展了6MB的限制
SET CONFIG FTG\u INDEX\u limit=12582912
。我们可以进一步扩展吗?总的来说,如何解决这个问题?提前感谢。

使用FTG\u索引\u限制是避免此错误的一个选项,是的。但它将从两个方面影响服务器性能—FTI更新过程将花费更多的时间和内存。
这个极限没有最大值(理论上),但是!由于更新进程消耗公共堆中的内存,可能导致“内存不足过热”和服务器崩溃。
您可以尝试从索引中排除附件-我不认为有人可以在一个文档中放置超过1mb的文本,但用户可以附加一些大文本文件-这将产生您所写的错误。


p、 是的,我同意斯科特的观点-你为什么需要这样的经纪人?普通ft索引通常工作正常。

我不能回答你的问题,但是。。。为什么有这样一个代理人?Domino全文索引通常每15分钟自动更新一次,以包括自上次更新以来的新文档和修改过的文档,并且可以配置为按不同的时间表更新,而无需任何编码。除非索引经常被破坏,否则您不应该需要这样的代理。如果发生这种情况,您可能会遇到更大的问题,并且应该重新考虑您的应用程序设计。