Служба индекса Exchange позволяет пользователям найти данные в своих почтовых ящиках при выполнении поиска в Outlook (при отключенном режиме кэширования), OWA, Exchange ActiveSyn. Exchange начинает индексировать письма сразу после того, как они попадают в почтовую базу. Однако в некоторых случаях, когда пользователи сталкиваются с проблемами при поиске данных в почтовом ящике, или когда каталог с индексом почтовой базы занимает довольно много места на дисках (которое срочно следует освободить), существует способ сбросить индексы поиска, очистив индексную базу и переиндексировав элементы в ящиках заново.
Сбросить поисковый индекс в Exchange можно с помощью скрипта ResetSearchIndex.ps1, который хранится в каталоге %PROGRAMFILES%\Microsoft\Exchange Server\V14\Scripts
Чтобы сбросить и заново переиндексировать все базы, нужно выполнить такую команду:
cd "c:\program files\microsoft\exchange server\v14\scripts"
.\ResetSearchIndex.ps1 -force -all
Если нужно сбросить поисковый индекс только для одной базы, команда будет выглядеть так:
.\ResetSearchIndex.ps1 dbname
Список баз можно получить с помощью командлета get-mailboxdatabase.
WARNING: Waiting for service 'Microsoft Exchange Search Indexer (MSExchangeSearch)' to finish stopping...
MSExchangeSearch service stopped
Deleting catalog for dbname
removing: E:\databases\ bname\CatalogData-19cfd61b-27cc-48c9-a99b-5721517b23b0-4f7a1c1c-2d9d-43fb-ab6b-11d8295db877
Control-C to quit or Enter to continue:
MSExchangeSearch service Started
Кроме того, можно выполнить ручной сброс индекса:
- Остановите службу Microsoft Exchange Search Indexer
- В каталоге с базой нужно удалить папку индексом CatalogData-…
- Запустите службы Microsoft Exchange Search Indexer
Служба поиска пересоздаст каталог CatalogData.. и начнет переиндексацию
Событие начала перестройки индекса для каждой базы Event ID 109, завершение построения индекса — Event ID 110.