Если у вас наблюдаются проблемы с поиском по письмам и другим элементам в Outlook (поиск ничего не находит, выдает неполные результаты, не ищет по всем подключенным файлам личных папок *.pst и т.д), рекомендации из этой статьи должны помочь вам решить проблему поиска в Outlook (рекомендации применимы ко всем текущим версиям Outlook для Microsoft 365).
- Проверка состояния поискового индекса Outlook
- Включить индексирование содержимого Outlook службой поиска Windows
- Сброс/пересоздание поискового индекса Microsoft Outlook
- Проверьте PST файлы на наличие ошибок
- Outlook и режим кэширования Exchange
- Не работает поиск Outlook в общих ящиках Exchange
- Не работает поиск Outlook после установки обновлений в Windows 10 и 11
- Что еще проверить, если не работает поиск в Outlook?
Проверка состояния поискового индекса Outlook
Поиск в Outlook работает на базе службы индексирования Windows. Чтобы выполнить поиск, служба Windows Search должна просканировать содержимое ящика и подключенных PST файлов, и построить индекс всех имеющихся элементов Outlook. Поэтому в первую очередь необходимо проверить состояние индекса Outlook.
Для этого, перейдите на вкладку Поиск и в разделе Средства поиска выберите элемент Состояния индексирования.
Если с поисковым индексом Outlook все в порядке, в появившемся окне должен отобразится статус:
Индексирование всех элементов Outlook завершено Осталось проиндексировать элементов: 0
Однако, если у вас имеются проблемы с поиском, скорее всего статус будет другой:
Outlook is currently indexing your items. 23871 items remains to be indexed
Перестроение поискового индекса Outlook может выполнятся при добавлении нового почтового ящика или файла личных папок (pst), переносе писем между папками и т.д. Если вы выполняли эти действия относительно недавно (до 3-4 часов назад), нужно дождаться окончания индексирования. Если же существенные изменения в конфигурацию не вносились давно, а индексирование до сих пор выполняется – налицо явная проблема с индексом Outlook.
Включить индексирование содержимого Outlook службой поиска Windows
Для решения проблемы нужно временно исключить Outlook из числа элементов, которые сканируются службой индексирования Windows. Для этого:
- В Outlook откройте меню Файл -> Параметры;
- Выберите раздел Поиск -> Параметры индексирования;
- Нажмите кнопку Изменить;
- Отключите индексирования для элемента Microsoft Outlook
- Закройте почтовый клиент Outlook и с помощью Task Manager убедитесь, что в системе отсутствует процесс
outlook.exe
;
В свойствах OST и PST файлов проверьте, что разрешена их индексация (это стоит сделать несмотря на то, что их индексирование уже разрешено в параметрах службы поиска Windows). Для этого
- Откройте меню Файл -> Настройка учетных записей -> Настройка учетных записей;
- Перейдите на вкладку Файлы данных;
- По очереди выберите каждый файл и нажмите на кнопку Открыть расположение файла;
- Щелкните ПКМ по нужному OST или PST файлу и выберите его свойства;
- Нажмите на кнопку Другие;
- Установите галку «Разрешить индексировать содержимое этого файла в дополнение к свойствам файла» -> Ок.
Откройте консоль PowerShell с правами администратора и перезапустите службу WSearch:
Restart-Service -Name wsearch –verbose
Теперь нужно в настройках параметров поиска разрешить индексирование Outlook, отключенное ранее. В параметрах индексирования поставьте галку у пункта Microsoft Outlook и сохраните изменения.
Дайте Outlook некоторое время на выполнение полного индексирования (в зависимости от количества, размера ящиков и подключенных PST файлов). Проверьте состояние индекса Outlook как показано выше и попробуйте выполнить поиск.
Сброс/пересоздание поискового индекса Microsoft Outlook
Если поиск так и не заработал, рекомендуется попробовать полностью сбросить индекс службы поиска Windows. Для этого:
- В Outlook нажмите Файл -> Параметры -> Поиск ;
- Нажмите кнопку Параметры индексирования -> Дополнительно;
- Нажмите на кнопку Перестроить (Rebuild);
- Перестроение индекса может занять довольно продолжительное время и временно снизить производительность компьютера.
Проверьте PST файлы на наличие ошибок
В некоторых случаях служба индексирования не может проиндексировать файлы личных папок (PST) из-за наличия в них логических ошибок или повреждения структуры. Рекомендуется выполнить проверку PST файлов с помощью утилиты scanpst.exe.
Outlook и режим кэширования Exchange
В этом разделе рассмотрим особенности работы поиска в Outlook, если ваш почтовый ящик находится на сервере Exchange или Exchange Online (Microsoft 365). Если в Outlook включен режим кэширования Exchange, то для поиска элементов используется локальный индекс на вашем компьютере. Если режим кэширования Exchange отключен, то для поиска в ящике используется индекс на стороне почтового сервера (обслуживается службой Microsoft Exchange Search Indexer).
Служба поиска MSExchangeSearch выполняет индексацию письма сразу, когда оно попало в почтовую базу на сервере. Если при использовании поискового индекса Exchange ваш Outlook не ищет элементы в ящике, скорее всего есть какие-то проблемы на стороне почтового сервера Exchange. Для диагностики проблем со службой поиска Exchange используется командлет
Test-ExchangeSearch.
Чаще всего проблема в том, что закончилось место на дисках (недостаточно места для увеличения размера поискового индекса), либо текущий индексный файл был поврежден и нужно его перестроить. Для сброса поискового индекса в Exchange можно использовать встроенный PowerShell скрипт %PROGRAMFILES%\Microsoft\Exchange Server\V14\Scripts\ResetSearchIndex.ps1
Чтобы сбросить поисковый индекс для конкретной базы, используйте команду:
.\ResetSearchIndex.ps1 mailbox_db_name
Также проверьте, включено ли индексирование для проблемной базы почтовых ящиков:
Get-MailboxDatabase mailbox_db_name | Format-Table Name,IndexEnabled
Не работает поиск Outlook в общих ящиках Exchange
В on-prem версиях Exchange Server, начиная с Exchange 2016, используется функция быстрого поиска (Fast Search). В некоторых случаях быстрый поиск Exchange некорректно работает в общих ящиках Exchange, подключенных в Outlook. В этом случае при поиске писем в общих ящиках Outlook вы увидите ошибку:
При получении результатов от сервера возникла проблема. Некоторые элементы могут не отображаться в результатах поиска.
We're having trouble fetching results from the server. Some items may not be included in your search results.
Вы можете запретить Outlook использовать поиск на стороне Exchange. Для этого нужно создать DWORD параметр реестра
DisableServerAssistedSearch = 1
в ветке HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Search (для Outlook 2016 и Outlook 2019).
Вы можете создать параметр реестра с помощью PowerShell:
New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Search" -Name DisableServerAssistedSearch -PropertyType "DWORD" -Value "1"
Перезагрузите Windows.
Не работает поиск Outlook после установки обновлений в Windows 10 и 11
После установки обновлений в Windows 10 и 11 в декабре 2021 года, в Outlook перестал работать поиск по последним письмам. Проблема наблюдается как с ящиками Exchange, так и в Microsoft 365.
Search performance will be impacted because of a problem with how Outlook search is configured.
Проблема появилась после установки следующие обновлений:
- Windows 10 21H2 и 21H1 — KB5008212
- Windows 11 — KB5008215
Microsoft частично исправила этот баг в обновлении KB5009543 для Windows 10 и KB5008215 для (2022-01). Однако этот патч помогает не всегда.
Для восстановления поиска можно временно удалить последнее обновление:
wusa /uninstall /kb:5008212
Или по рекомендации Microsoft вы можете временно отключить использование службы индексирования Windows Desktop Search в Outlook. Для этого создайте в реестре параметр PreventIndexingOutlook со значением 1.
New-ItemProperty -path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Search" -Name DisableServerAssistedSearch -PropertyType "DWORD" -Value "1"
После перезагрузки компьютера Outlook будет использовать для поиска в ящиках и PST файлов собственный поиск. При поиске в Outlook будет появляться предупреждение:
Производительность поиска будет снижена, поскольку групповая политика отключила службу поиска Windows.
Search performance will be impacted because a group policy has turned off the Windows Search service.
Основной недостаток – поиск в Outlook будет работать гораздо медленнее. Поэтому исправления этого бага в одном из следующих обновлений, нужно удалить этот параметр реестра.
Что еще проверить, если не работает поиск в Outlook?
Что можно еще проверить, если поиск в Outlook не выполняется или возвращает не полные результаты?
- В меню Outlook выберите Средства поиска -> Расположения для поиска. Убедитесь, чтоб для поиска выбраны все ящики и PST файлы;
- Убедитесь, что в ветке реестра “HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search” отсутствует параметр PreventIndexingOutlook = 1. Данный параметр отключает индексирование Outlook службой Windows Search. Он соответствует политике Prevent indexing Microsoft Office Outlook в разделе GPO Computer Configuration -> Administrative Templates -> Windows Components -> Search;Если у вас используются специальные административные шаблоны GPO для Office, проверьте что в параметрах этих политик не изменены стандартные настройки поиска Outlook.
- В настройках Outlook (File -> Options -> Search) отключите опцию Improve search speed by limiting the number of results shown (Ускорять поиск за счет сокращения числа показываемых результатов);
- Отключите сторонние расширения Outlook (File -> Options -> Add-ins);
- Переустановите Outlook с помощью функции Repair установочного пакета MS Office ( в Office 365 есть удобная функция Quick Repair);
- Используйте встроенное в Windows 10 средство исправления ошибок поиска и индексирования (Search Troubleshooter). Для запуска утилиты выполните команду:
msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic
- Также вам может быть полезна похожая статья Не работает поиск в Windows 10 — исправляем проблему .