Индексирование Windows и SearchIndexing.exe

18.02.2019 0 Автор GodKnowses

Индексирование Windows: конфигурация, настройки, проблемы.

SearchIndexer.exe или Индексатор службы Windows Search является сугубо системным процессом и принадлежит утилите индексирования Windows Search. Именно она и отвечает за быстрый поиск файлов в системе, хотя не все довольны результатами работы программы. Указанный процесс и есть служба, управляющая индексированием.

Поиск Windows можно настроить под собственные нужды. Главное окно утилиты открывается после вызова строки поиска WIN + R и ввода быстрой команды

параметры поиска

Отсюда вы увидите те директории и папки, которые просмотрены и проиндексированы Windows. Локации индексирования можно изменить, как и приостановить само индексирование (впрочем, в последних версиях Windows кнопка “пауза” пропала).

Проблемы: как они себя проявляют

Как оказалось, наиболее типичные проблемы с индексированием Windows нередки, но пользователь редко придаёт им значение. При этом ошибки в индексировании большинство склонно относить к “криворукости разработчиков” Windows. Но вот, пожалуй, самые из них распространённые:

  • в результатах поиска через Windows/File Explorer в индексе нужные файлы не обнаруживаются. Но вы точно знаете, что они там есть…
  • в результатах поиска появляются, наоборот, файлы-фантомы, которые давно с компьютера удалены
  • служба Windows Search “падает” с ошибкой 0x80070002 или 0x80070005

Где находится поисковый индекс, и как изменить его содержимое?

По умолчанию он располагается по пути C:\ProgramData\Microsoft\Search, хотя сама утилита запускается из папки C:\Windows\System32. Его расположение также можно изменить, при этом придётся перезапустить саму службу, очистить результаты и сформировать индекс заново. Самый простой вариант добавить что-либо к индексу, это добавить папку в его библиотеку прямо из указанного окна. В соседней вкладке можно “отрегулировать” список расширений, которые в индекс попадут. Нужное нам окно открывается аплетом

control srchadmin.dll

после вызова строки Выполнить WIN + R :

Индексирование Windows: с чего начать решение проблем?

Встроенное средство устранения неполадок с индексированием проделывает практически всё, что описывается ниже. Так что первое, с чего нужно начать, это запуск утилиты Диагностики неполадок. Она вызывается одинаково во всех последних версиях Windows из строки поиска:

msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic

В том числе она проверит разрешения файловой системы NTFS и сброс корневой службы. Так что средством не пренебрегайте никогда. А теперь к “ручным” способам.

Отключение индексирования: уже появившиеся проблемы оно не решит…

На некоторых форумах нередко можно услышать советы по отключению индексирования с целью экономии ресурсов Windows (они, вероятно, достались нам со времён Windows XP). И почти никто из советующих не упоминает о том, что процесс запускается ТОЛЬКО тогда, когда система простаивает. Как только нагрузка на процессор растёт, индексирование стаёт на паузу. Однако, если решение вами принято, отправляемся в Удаление программ

appwiz.cpl

и выберем Включение и отключение компонентов Windows, сняв галочку с пункта Windows Search:

Плюсом к тому нужно (1) Остановить и (2) Запретить автозапуск службы Windows Search в списке служб

services.msc

SearchIndexer.exe нагружает процессор

Что это значит? Профессионалы могут со мной поспорить, но более 15-20%% загрузки процессора индексирование Windows по опыту забирать не должно. Так что…

  • перезапускаем знакомую службу, Остановив и заново Запустив прямо из окна служб Windows
  • перестроим индекс Windows (без сброса); вариант доступен прямо из окна с расположением индексирования

  • если вы желаете перестроить индекс и плюсом сбросить имеющиеся данные индексирования, лучше отключить службу через реестр (в разделе
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search

    параметру SetupCompletedSuccessfully присвоить значение 0, а после этого в службах Windows перезапустить Windows Search)

  • проследим за проблемой из Монитора ресурсов. Запускаем его быстрой командой:
resmon

Во вкладке Обзор в разделе ЦП найдём ИД процесса SearchIndex.exe. Сразу переходим ниже в раздел Диск. Отсюда выцепляем по ИД с какими файлами процесс работает. Если заметите что-то необычное, отправьтесь в окно Индекса (см.выше) и отключите директорию с файлом целиком из индекса. Вы это уже умеете в окне Индексируемые расположения:

Проверьте, разрешилась ли проблема. Также в мониторе ресурсов проверьте всё, что связано с процессом searchprotocolhost.exe, если тот запущен

sfc /scannow
sfc /scannow /offbootdir=c:\ /offwindir=c:\windows

Перезагрузитесь для применения изменений. Если вы владелец Windows 10, ремонт файловой системы можно продолжить последовательными командами

Dism /Online /Cleanup-Image /CheckHealth
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /RestoreHealth 
Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess
  • Следующий вариант прокатывает для Windows 10. Создайте скрытую учётную запись администратора. Зайдя через ней, отправьтесь по пути

C:\Пользователи\учётка-проблемного-пользователя\AppData\Local\Packages\

Переименуйте папку Microsoft.Windows.Cortana_cw5n1h2txyewy вMicrosoft.Windows.Cortana_cw5n1h2txyewy.old. Некоторые папки по этому пути скрыты, так что убедитесь, что Свойства папки позволят вам найти нужные файлы и директории. Остаётся перезагрузиться и вновь войти в прежнюю учётку. В PowerShell от имени администратора наберите команду:

Add-AppxPackage -Path “C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\Appxmanifest.xml” -DisableDevelopmentMode -Register

перезагрузите компьютер и проверьте, не исправилась ли проблема.

  • отключите и включите опцию в Свойствах диска:

К слову сказать, если вы недовольны скоростью индексирования, это не означает, что с самой службой что-то не так. Так что как ускорить индексирование системы мы рассмотрим в следующей статье.

Успехов.