全文索引“立即”不适用于网络中的XPage?

时间:2014-12-03 09:37:01

标签: xpages lotus-domino

我刚刚发现在Domino 9.01服务器上,当我通过Web上的XPage将文档添加到NSF时,Update.FulltextList队列不会改变。 该NSF上的全文更新频率设置为“立即”,结果是当通过XPage / Web对文档进行更改时,全文索引永远不会自动更新。

在我通过Notes进行一些更改之后,更新程序在几秒钟后运行并且ft索引正在更新。

有人遇到类似行为并有解决方案吗?

4 个答案:

答案 0 :(得分:1)

Somehting已经为最后几个服务器版本提供了全文。 可能有一些新的INI设置,但让管理员这样做是令人沮丧的, 所以最好的办法是使用lotusscript或java手动更新数据库。如果你要求很多请求,那似乎并不重要。

db.updateFTIndex(真)

如果您愿意,可以计算iunindexed文档的数量。

Dim session As New NotesSession
Dim db As NotesDatabase

Set db = session.CurrentDatabase



Print "Last Indexed:<br>" & db.LastFTIndexed & "<br>"

Dim ndtnow As New NotesDateTime(Now)
Dim ndtli As New NotesDateTime(db.LastFTIndexed )

Print Cdbl( ndtnow.TimeDifferenceDouble(ndtli)/60 ) & " minutes ago." & "<br><br>"

Dim T As New NotesDateTime("") 
Dim UnindexedCol As NotesDocumentCollection 


T.LSLocalTime = db.LastFTIndexed 
Set UnindexedCol = db.Search({@All}, T, 0) 
Print "Unindexed changed or new documents: " &  UnindexedCol.count & "<br><br>"

答案 1 :(得分:1)

我不得不说它可以与XPages / Web一起使用。它只是看起来不起作用,因为它需要长达15分钟,直到ft索引更新,并且Update.FulltextList统计似乎落后于当前的情况很多。

15分钟不是我对“立即”的解释,因为索引器在该服务器上根本没有负载,但这是一个不同的故事。

答案 2 :(得分:1)

我不是管理员,但这看起来很有用http://www-01.ibm.com/support/knowledgecenter/SSKTMJ_9.0.1/admin/admn_indexertasksupdateandupdall_r.dita

我注意到的一部分是:

  

当队列中记录视图或文件夹更改时,Update会等待   在更新所有视图索引之前大约15分钟   数据库,以便更新可以包括任何其他数据库更改   在15分钟的时间内完成。更新后的视图索引后   然后,它会更新所有具有全文搜索的数据库   索引设置为立即或每小时更新。

值得注意的是Indexer任务更新视图索引以及全文索引。您可以使用notes.ini中的UPDATE_FULLTEXT_THREAD=1将它们拆分为单独的线程。使用更新版本的Domino,您可以将全文索引移动到单独的驱动器上。我不确定这是否会提高更新性能。

请不要使用LotusScript更新XPage上下文中的全文索引。我无法强调这一点。另外,如果您要更新全文索引,建议您使用参数false而不是true。数据库在设置时应始终具有完整的文本索引,但您可以轻松地检查它。

在最近的项目中,我一直在使用Jesse Gallagher的frostillicus框架。我注意到BasicDocumentController类在保存每个文档时更新全文索引,使用以下代码:

if (database.isFTIndexed()) {
    database.updateFTIndex(false);
}

答案 3 :(得分:1)

自动“即时”全文更新的15分钟延迟在Domino Admin圈子中是众所周知的。您可以尝试为服务器创建程序文档。使用类似这样的命令:

Updall -F [database_name]/[folder]

-F开关确保Updall仅更新FT索引,而不是视图(除非另有编程,否则通常会立即更新)。

我们有许多服务器在工作时间每5分钟运行一次,这会有所帮助。请记住,它会在繁忙的服务器上创建大量的I / O.