Не работает поиск в Outlook: решение проблемы

Не работает поиск в Outlook: решение проблемы

Если у вас наблюдаются проблемы с поиском по письмам и другим элементам в Outlook (поиск ничего не находит, выдает неполные результаты, не ищет по всем подключенным файлам личных папок *.pst и т.д), рекомендации из этой статьи должны помочь вам решить проблему поиска в Outlook (рекомендации применимы ко всем текущим версиям Outlook для Microsoft 365).

Проверка состояния поискового индекса Outlook

Поиск в Outlook работает на базе службы индексирования Windows. Чтобы выполнить поиск, служба Windows Search должна просканировать содержимое ящика и подключенных PST файлов, и построить индекс всех имеющихся элементов Outlook. Поэтому в первую очередь необходимо проверить состояние индекса Outlook.

Для этого, перейдите на вкладку Поиск и в разделе Средства поиска выберите элемент Состояния индексирования.

Статус поискового индекса в outlook 2016Если с поисковым индексом Outlook все в порядке, в появившемся окне должен отобразится статус:

Индексирование всех элементов Outlook завершено
Осталось проиндексировать элементов: 0

Индексирование всех элементов Outlook завершено

Однако, если у вас имеются проблемы с поиском, скорее всего статус будет другой:

Outlook is currently indexing your items.
23871 items remains to be indexed

Outlook is currently indexing your items.

Перестроение поискового индекса Outlook может выполнятся при добавлении нового почтового ящика или файла личных папок (pst), переносе писем между папками и т.д. Если вы выполняли эти действия относительно недавно (до 3-4 часов назад), нужно дождаться окончания индексирования. Если же существенные изменения в конфигурацию не вносились давно, а индексирование до сих пор выполняется – налицо явная проблема с индексом Outlook.

Включить индексирование содержимого Outlook службой поиска Windows

Для решения проблемы нужно временно исключить Outlook из числа элементов, которые сканируются службой индексирования Windows. Для этого:

  1. В Outlook откройте меню Файл -> Параметры;
  2. Выберите раздел Поиск -> Параметры индексирования;
  3. Нажмите кнопку Изменить;
  4. Отключите индексирования для элемента Microsoft Outlook
  5. Закройте почтовый клиент Outlook и с помощью Task Manager убедитесь, что в системе отсутствует процесс
    outlook.exe
    ;

Отключение индексирования содержимого Outlook 2016

В свойствах OST и PST файлов проверьте, что разрешена их индексация (это стоит сделать несмотря на то, что их индексирование уже разрешено в параметрах службы поиска Windows). Для этого

  1. Откройте меню Файл -> Настройка учетных записей -> Настройка учетных записей;
  2. Перейдите на вкладку Файлы данных;
  3. По очереди выберите каждый файл и нажмите на кнопку Открыть расположение файла;файлы данных outlook
  4. Щелкните ПКМ по нужному OST или PST файлу и выберите его свойства;
  5. Нажмите на кнопку Другие;
  6. Установите галку «Разрешить индексировать содержимое этого файла в дополнение к свойствам файла» -> Ок.Разрешить индексировать содержимое этого файла в дополнение к свойствам файла

Откройте консоль PowerShell с правами администратора и перезапустите службу WSearch:

Restart-Service -Name wsearch –verbose

powershell перезапустить службу поиска windows

Теперь нужно в настройках параметров поиска разрешить индексирование Outlook, отключенное ранее. В параметрах индексирования поставьте галку у пункта Microsoft Outlook и сохраните изменения.

Дайте Outlook некоторое время на выполнение полного индексирования (в зависимости от количества, размера ящиков и подключенных PST файлов). Проверьте состояние индекса Outlook как показано выше и попробуйте выполнить поиск.

Сброс/пересоздание поискового индекса Microsoft Outlook

Если поиск так и не заработал, рекомендуется попробовать полностью сбросить индекс службы поиска Windows. Для этого:

  1. В Outlook нажмите Файл -> Параметры -> Поиск ;
  2. Нажмите кнопку Параметры индексирования -> Дополнительно;
  3. Нажмите на кнопку Перестроить (Rebuild);
  4. Перестроение индекса может занять довольно продолжительное время и временно снизить производительность компьютера.

полный сброс поискового индекса в windows

Проверьте PST файлы на наличие ошибок

В некоторых случаях служба индексирования не может проиндексировать файлы личных папок (PST) из-за наличия в них логических ошибок или повреждения структуры. Рекомендуется выполнить проверку PST файлов с помощью утилиты scanpst.exe.

Outlook и режим кэширования Exchange

В этом разделе рассмотрим особенности работы поиска в Outlook, если ваш почтовый ящик находится на сервере Exchange или Exchange Online (Microsoft 365). Если в Outlook включен режим кэширования Exchange, то для поиска элементов используется локальный индекс на вашем компьютере. Если режим кэширования Exchange отключен, то для поиска в ящике используется индекс на стороне почтового сервера (обслуживается службой Microsoft Exchange Search Indexer).

outlook поиск при включенном режиме кеширования exchange

Служба поиска MSExchangeSearch выполняет индексацию письма сразу, когда оно попало в почтовую базу на сервере. Если при использовании поискового индекса Exchange ваш Outlook не ищет элементы в ящике, скорее всего есть какие-то проблемы на стороне почтового сервера Exchange. Для диагностики проблем со службой поиска Exchange используется командлет
Test-ExchangeSearch.

Чаще всего проблема в том, что закончилось место на дисках (недостаточно места для увеличения размера поискового индекса), либо текущий индексный файл был поврежден и нужно его перестроить. Для сброса поискового индекса в Exchange можно использовать встроенный PowerShell скрипт %PROGRAMFILES%MicrosoftExchange ServerV14ScriptsResetSearchIndex.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 При получении результатов от сервера возникла проблема. Некоторые элементы могут не отображаться в результатах поиска

Вы можете запретить Outlook использовать поиск на стороне Exchange. Для этого нужно создать DWORD параметр реестра
DisableServerAssistedSearch = 1
в ветке HKEY_CURRENT_USERSoftwareMicrosoftOffice16.0OutlookSearch (для Outlook 2016 и Outlook 2019).

Вы можете создать параметр реестра с помощью PowerShell:

New-ItemProperty -path "HKCU:SoftwareMicrosoftOffice16.0OutlookSearch" -Name DisableServerAssistedSearch -PropertyType "DWORD" -Value "1"

Перезагрузите Windows.

Для ящиков в Exchange Online (Microsoft 365) этот параметр не применим, т.к. для поиска вместо FAST используется Microsoft Search.

Не работает поиск 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:SoftwareMicrosoftOffice16.0OutlookSearch" -Name DisableServerAssistedSearch -PropertyType "DWORD" -Value "1"

параметр реестра PreventIndexingOutlook

После перезагрузки компьютера Outlook будет использовать для поиска в ящиках и PST файлов собственный поиск. При поиске в Outlook будет появляться предупреждение:

Производительность поиска будет снижена, поскольку групповая политика отключила службу поиска Windows.
Search performance will be impacted because a group policy has turned off the Windows Search service. 

Производительность поиска Outlook будет снижена, поскольку групповая политика отключила службу поиска Windows

Основной недостаток – поиск в Outlook будет работать гораздо медленнее. Поэтому исправления этого бага в одном из следующих обновлений, нужно удалить этот параметр реестра.

Что еще проверить, если не работает поиск в Outlook?

Что можно еще проверить, если поиск в Outlook не выполняется или возвращает не полные результаты?

  1. В меню Outlook выберите Средства поиска -> Расположения для поиска. Убедитесь, чтоб для поиска выбраны все ящики и PST файлы;outlook выбрать расположения для поиска
  2. Убедитесь, что в ветке реестра “HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindows Search” отсутствует параметр PreventIndexingOutlook = 1. Данный параметр отключает индексирование Outlook службой Windows Search. Он соответствует политике Prevent indexing Microsoft Office Outlook в разделе GPO Computer Configuration -> Administrative Templates -> Windows Components -> Search;
  3. В настройках Outlook (File -> Options -> Search) отключите опцию Improve search speed by limiting the number of results shown (Ускорять поиск за счет сокращения числа показываемых результатов);Ускорять поиск за счет сокращения числа показываемых результатов
  4. Отключите сторонние расширения Outlook (File -> Options -> Add-ins);
  5. Переустановите Outlook с помощью функции Repair установочного пакета MS Office ( в Office 365 есть удобная функция Quick Repair);office365 мастер Quick Repair
  6. Используйте встроенное в Windows 10 средство исправления ошибок поиска и индексирования (Search Troubleshooter). Для запуска утилиты выполните команду:
    msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic
    windows10 утилита исправления проблем поиска
  7. Также вам может быть полезна похожая статья Не работает поиск в Windows 10 — исправляем проблему .

 

 

Microsoft 365
Не работает поиск в Outlook: решение проблемы