Поиск SharePoint можно использовать для индексации разнообразного контента как внутри SharePoint, так и во внешних источниках, например на общих сетевых накопителях. По мере того как объем содержащейся в SharePoint информации растет, важно отслеживать настройки механизма поиска, чтобы обеспечить полный охват данных.
Простого взгляда на SharePoint Search Service Application часто бывает достаточно, чтобы убедиться в отсутствии ошибок или просто оценить базовую топологию (см. экран 1).
Экран 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.
Экран 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.
Экран 10. Сценарий начальной установки инструмента Search Health Reports |
Теперь можно выполнить тесты, чтобы убедиться в исправной работе инструмента, например выполнив команду:
New-SRxReport -RunAllTests
Результаты ее работы показаны на экране 11.
Экран 11. Как работает Search Health Reports |
Это превосходный инструмент, с помощью которого можно увидеть, как работает поиск SharePoint. Сочетая основные команды PowerShell с этим прекрасным средством Microsoft, вы сможете эффективно проверить настройки и работоспособность службы поиска SharePoint.