IBM Domino: Script to Enable Full Text Indexes on all mail files: Difference between revisions
(Criou a página com "Currently the only way to enable full text on All mail files is using Domino Administrator. There is no command line option. I create a LotusScript Agent to enable this. Se...") |
No edit summary |
||
Line 74: | Line 74: | ||
Resume GetNextDb | Resume GetNextDb | ||
End Sub | End Sub | ||
== Ver também == | |||
* [[Lotus Domino: Redirect Console Output to file and run a shell]] | |||
* [[Lotus Domino e Notes| More articles about IBM Domino e Notes]] | |||
[[Category: IBM Domino]] | |||
[[Category: Lotus Domino]] |
Latest revision as of 19:36, 27 November 2017
Currently the only way to enable full text on All mail files is using Domino Administrator. There is no command line option.
I create a LotusScript Agent to enable this. See code below
Agent must be set as "Agent List" and "All selected documents".
and to run use command
tell amgr run "database.nsf" 'createFTIndex'
Source Code:
%REM Agent createFTIndex Created Nov 24, 2017 by Description: Enable FT Index on all databases %END REM Option Public Option Declare Sub Initialize Dim session As New NotesSession Dim thisdb As NotesDatabase Dim db As NotesDatabase Dim pos As Integer Dim servername As String Dim mailpath As String Dim options As Long Print "Agent createFTIndex - start" mailpath = "mail/" options& = FTINDEX_ENCRYPTED_FIELDS 'FTINDEX_ALL_BREAKS (4) To index sentence And paragraph breaks 'FTINDEX_ATTACHED_BIN_FILES (16) To index attached files (Binary) 'FTINDEX_ATTACHED_FILES (1) To index attached files (raw Text) 'FTINDEX_CASE_SENSITIVE (8) To enable case-sensitive searches 'FTINDEX_ENCRYPTED_FIELDS (2) To index encrypted fields 'Server name (in canonical format) or leave blank for local server/directory: servername = "" Set thisdb = session.CurrentDatabase Dim dbdir As New NotesDbDirectory(servername) Set db = dbdir.GetFirstDatabase(DATABASE) While Not db Is Nothing 'Skip databases which you don't have access to On Error GoTo Error4060 'Check to see if this database is in the mail directory pos = InStr(db.FilePath, mailpath) If pos = 1 Then Call db.Open(servername,db.Filepath) Print "CurrentDB - " + db.Filepath If Not(db.IsFTIndexed) Then Print "Create Index - " + db.Filepath Call db.CreateFTIndex(options&, False) 'Call db.CreateFTIndex(2, True) db.Ftindexfrequency = 1 'daily Else 'Call db.CreateFTIndex(options&, True) 'MessageBox "Database index recreated",, "FT index" Print "Base ja eh FTI " + db.Filepath End If End If GetNextDb: Set db = dbdir.GetNextDatabase() Wend Print "Agent createFTIndex - end" Exit Sub Error4060: Print CStr(Err) & " " & CStr(Erl) & " " & Error 'If the code reaches here then the user does not have access rights. Resume GetNextDb End Sub