Администрирование Lotus Notes 4.1x и Lotus Domino 4.5

         

Серверные задачи Update (Indexer)


UPDATE и UPDALL       Серверные задачи Update (Indexer) и Updall занимаются поддержкой и обновлением индексов видов и индексов полнотекстового поиска в базах данных. Они также восстанавливают удаленные индексы видов и полнотекстового поиска.

Индекс вида (не путайте с индексом полнотекстового поиска) хранится в самой базе и необходим для того, чтобы станция Notes могла оперативно предъявлять пользователю содержимое вида - оно формируется на основе индекса вида в базе. Индекс полнотекстового поиска хранится отдельно от базы, в каталоге, имя которого совпадает с именем базы, а "расширение" равно FT. Индекс полнотекстового поиска необходим, чтобы находить в базе документы с указанными в запросе полнотекстового поиска словами.

Update - оперативное обновление индексов

Серверная задача Update (имя выполняемого файла xUPDATE.exe, где x зависит от платформы, но на консоли представлена под именем Indexer) по умолчанию включена в файл NOTES.INI в список ServerTasks, а потому загружается автоматически при запуске сервера. Update обновляет соответствующие индексы видов в базе данных, когда пользователь или серверная задача, например Replicator, создают, модифицируют или удаляют документы в этой базе. В случае если пользователь или серверная задача обращаются к виду, для которого в базе еще не существует индекса, Update создает индекс этого вида.

Сервер Notes поддерживает очередь запросов на изменение индексов видов в базах данных. Запросы в эту очередь поступают от различных серверных задач, которые создают, модифицируют или удаляют документы в базах. Задача Update опрашивает эту очередь каждые несколько секунд. Как только она находит в очереди запрос, то форсирует изменение тех индексов в заданной базе, которым согласно формуле отбора "принадлежат" эти документы. Если эта база имеет еще и индекс полнотекстового поиска с частотой обновления Immediate

("непосредственно при создании, удалении или модификации документа"), помимо изменения индексов видов задача Update обновляет индекс полнотекстового поиска.


В целях сохранения дискового пространства на сервере задача Update также занимается удалением индексов длительно неиспользуемых видов. Если разработчик базы данных не указал для вида опцию, касающуюся частоты удаления его индекса, т.е. в поле с меткой Discard index: выбрано значение по умолчанию Never ("никогда"), то задача Update удалит индекс этого вида, если он никем не использовался в течение 45 дней.



Рис.  3.14 Выбор частоты удаления индекса вида в окне свойств вида

Можно использовать в NOTES.INI переменную Default_Index_Lifetime_Days=<число дней>, чтобы изменить "время жизни индексов видов по умолчанию". Если же для вида была определена частота удаления индекса (After each use - "после каждого использования" или If inactive for x days - "если не использовался в течении x дней"), задача Update будет удалять индекс с заданной частотой.

В версиях 4.х можно запускать сразу несколько задач Update, устанавливая в NOTES.INI переменную Updaters (число задач Update, запускаемых при старте сервера) или вручную с консоли (командой Load Update). Это может ускорить обновление индексов, но при условии, что компьютер сервера имеет соответствующий запас производительности. Отметим, что команда консоли Tell Update Quit приводит к завершению сразу всех запущенных на сервере задач Update. Однако для нормальной работы сервера необходима хотя бы одна задача Update...

Updall - ежедневное обслуживание индексов



Серверная задача Updall запускается на сервере по умолчанию в 2 часа ночи (это задается в NOTES.INI переменной ServerTasksAt2) и модифицирует во всех базах на этом сервере все индексы видов, к которым обращались по крайней мере раз, и все индексы полнотекстового поиска. Чтобы запретить задаче Updall автоматически модифицировать индексы полнотекстового поиска, можно использовать переменную Update_No_Fulltext в NOTES.INI.

Если вы запускаете Updall вручную или посредством документа Program, вы можете дополнительно задавать аргументы, которые определяют, как задача работает. Формат команды для запуска UpdAll: Load Updall [database] [аргументы]. Аргументы могут быть следующими:



·        -V

модифицирует индексы видов, к которым обращались по крайней мере раз, но не модифицирует индексы полнотекстового поиска

·        -C

создает все до этого не существовавшие индексы видов и модифицирует индексы полнотекстового поиска

·        -R

перестраивает заново все индексы видов, к которым обращались по крайней мере раз, и модифицирует индексы полнотекстового поиска. Но это может потребовать много времени, так что использовать аргумент -R целесообразно только при исправлении поврежденных индексов в базах

·        -F

модифицирует индексы полнотекстового поиска, но не модифицирует индексы видов

·        -X

перестраивает заново все индексы полнотекстового поиска

·        -S

модифицирует индексы полнотекстового поиска, для которых назначена частота обновления Scheduled (по расписанию), Hourly (каждый час) и Immediate (непосредственно).



Рис.  3.15  Установка частоты обновления индекса полнотекстового поиска в окне свойств базы

·        -H

модифицирует индексы полнотекстового поиска с частотой обновления Hourly (каждый час)

·        database -T viewtitle модифицирует индекс вида viewtitle

в базе database.

Вы можете использовать имя базы данных как дополнительный параметр, причем с опцией -T он всегда необходим. Например, команда Load Updall SALES.NSF -R перестраивает индексы видов и модифицирует индекс полнотекстового поиска только в базе данных SALES.NSF. Чтобы перестроить только один вид в базе, можно воспользоваться командой Load Updall filename -R -T viewname. Однако то же самое часто можно сделать и со станции Notes:

·        выбрать вид, который нужно перестроить

·        нажать SHIFT+F9, чтобы перестроить только индекс этого вида, или CTRL+SHIFT+F9, чтобы перестроить индексы всех видов в базе.

Отметим, что в версии 4.5 у задачи Updall появились еще два параметра (-A и -B). Они относятся к возможности полнотекстового поиска сразу по многим базам данных и рассматриваются в 10.5.


Содержание раздела