Поиск SharePoint можно использовать для индексации разнообразного контента как внутри SharePoint, так и во внешних источниках, например на общих сетевых накопителях. По мере того как объем содержащейся в SharePoint информации растет, важно отслеживать настройки механизма поиска, чтобы обеспечить полный охват данных.

Простого взгляда на SharePoint Search Service Application часто бывает достаточно, чтобы убедиться в отсутствии ошибок или просто оценить базовую топологию (см. экран 1).

 

Топология SharePoint Search Service Application
Экран 1. Топология SharePoint Search Service Application

 

Как вам, вероятно, известно, возможности центра администрирования этим ограничиваются. Чтобы заглянуть глубже, следует использовать оболочку PowerShell, где имеется немало полезных команд. Чтобы познакомиться с функциями поиска, которые можно использовать, начнем с самого высокого уровня и запустим команду Get-SPEnterpriseSearchServiceApplication (https://technet.microsoft.com/en-us/library/ff608050.aspx). Эта команда позволяет просмотреть основные сведения о приложении службы поиска Search Service Application (см. экран 2).

 

Основные сведения о приложении службы поиска
Экран 2. Основные сведения о приложении службы поиска

 

Это хорошая отправная точка для просмотра более подробной информации, чем обычная страница топологии. Имея в своем распоряжении приложение службы поиска, мы можем углубиться в настройки и компоненты. Прежде чем это сделать, стоит воспользоваться командой Get-SPEnterpriseSearchStatus (https://technet.microsoft.com/en-us/library/jj219672.aspx) для быстрого просмотра. Конечно, если у вас имеется два или несколько приложений службы поиска, нужно указать, какое из них вы собираетесь использовать. В моей среде всего одно приложение, поэтому дополнительные указания не нужны.

$ssa = Get-SPEnterpriseSearchService
   Application
Get-SPEnterpriseSearchStatus
   -SearchApplication $ssa

На экране 3 показано, какие компоненты активны. Зная это, мы можем использовать другие параметры с той же командой, чтобы получить еще больше информации. С помощью следующей команды можно получить информацию о приложении службы поиска по умолчанию, а затем запустить составление отчета о работоспособности или компонент индексирования Index Component:

Get-SPEnterpriseSearchService
   Application | Get-SPEnterpriseSearchStatus
   -HealthReport -Component
   IndexComponent1
   -Text

 

Информация об активных компонентах
Экран 3. Информация об активных компонентах

 

Вывод этой команды представлен на экране 4.

 

Информация о приложении службы поиска
Экран 4. Информация о приложении службы поиска

 

Кроме того, можно запустить команду для каждого компонента в ферме, изменив параметр -component, например так:

Get-SPEnterpriseSearchStatus
   -HealthReport -Component
   IndexComponent1
   -Text
Get-SPEnterpriseSearchStatus -HealthReport
   -Component AdminComponent1
   -Text
Get-SPEnterpriseSearchStatus -HealthReport
   -Component CrawlComponent0 -Text
Get-SPEnterpriseSearchStatus -HealthReport
   -Component QueryProcessingComponent1
   -Text
Get-SPEnterpriseSearchStatus -HealthReport
   -Component ContentProcessingComponent1
   -Text
Get-SPEnterpriseSearchStatus -HealthReport
   -Component AnalyticsProcessingComponent1
   -Text

Если нужно получить общий статус основных заданий, используемых поиском SharePoint, то измените синтаксис следующим образом, чтобы показать основные задания:

Get-SPEnterpriseSearchStatus
   -JobStatus -Text

Вывод этой команды представлен на экране 5.

 

Общий статус основных заданий поиска SharePoint
Экран 5. Общий статус основных заданий поиска SharePoint

 

Перечисленные команды полезны, но это не лучший способ понять базовую топологию. Это можно сделать с помощью команды Get-SPEnterpriseSearchTopology (https://technet.microsoft.com/en-us/library/jj219578.aspx), которая извлекает базовую структуру текущих компонентов поиска:

$ssa = Get-SPEnterpriseSearchService
   Application
Get-SPEnterpriseSearchTopology
   -SearchApplication $ssa

Результаты мы видим на экране 6.

 

Базовая структура текущих компонентов поиска
Экран 6. Базовая структура текущих компонентов поиска

 

В итоге будет показано число компонентов, но не детальные сведения. Чтобы увидеть подробности об основных компонентах, следует выполнить команду SPEnterpriseSearchComponent (https://technet.microsoft.com/en-us/library/jj219773.aspx), например так:

$ssa = Get-SPEnterpriseSearchService
   Application
$topology = Get-SPEnterpriseSearch
   Topology -SearchApplication $ssa
Get-SPEnterpriseSearchComponent
   -SearchTopology
   $topology -SearchApplication $ssa

Результаты представлены на экране 7.

 

Детальная информация о компонентах
Экран 7. Детальная информация о компонентах

 

Эти команды предваряют те, которые мы используем для клонирования существующей топологии поиска, ее изменения и последующего применения к ферме SharePoint.

Кроме того, SharePoint содержит команду для извлечения информации об экземплярах поиска.

Get-SPEnterpriseSearchService
   Instance -Local

Результаты показаны на экране 8.

 

Информация об экземплярах поиска
Экран 8. Информация об экземплярах поиска

Наряду с возможностью увидеть экземпляры мы можем выяснить, где запущены хост-контроллеры поиска (см. экран 9).

$ssi = Get-SPEnterpriseSearch
   ServiceInstance -Local
Get-SPEnterpriseSearchHost
   Controller -SearchServiceInstance $ssi

 

Хост-контроллеры поиска
Экран 9. Хост-контроллеры поиска

Как видите, существует много команд, полезных для аудита топологии поиска SharePoint. По следующей ссылке можно получить список всех основных команд PowerShell для поиска SharePoint: https://technet.microsoft.com/en-us/library/ee906563.aspx.

Помимо запуска многочисленных команд и сортировки результатов, Microsoft выпустила средство аудита поиска под названием Search Health Reports («Отчеты о работоспособности службы поиска»). Информация о нем доступна по адресу: https://blogs.msdn.microsoft.com/sharepoint_strategery/2016/02/01/announcing-the-search-health-reports-srx-for-sharepoint-search-diagnostics/.

Чтобы воспользоваться этим инструментом, просто загрузите файл и выполните сценарий начальной установки initSRx.ps1. После его завершения вы получите сообщение, показанное на экране 10.

 

Сценарий начальной установки инструмента Search Health Reports
Экран 10. Сценарий начальной установки инструмента Search Health Reports

Теперь можно выполнить тесты, чтобы убедиться в исправной работе инструмента, например выполнив команду:

New-SRxReport -RunAllTests

Результаты ее работы показаны на экране 11.

 

Как работает Search Health Reports
Экран 11. Как работает Search Health Reports

Это превосходный инструмент, с помощью которого можно увидеть, как работает поиск SharePoint. Сочетая основные команды PowerShell с этим прекрасным средством Microsoft, вы сможете эффективно проверить настройки и работоспособность службы поиска SharePoint.