Данная заметка цикла об установке и базовой настройке SharePoint Server 2013 SP1 будет посвящена настройке общей службы SharePoint – Службе поиска (Search Service). Онлайн документацию на русском языке о развертывании и настройке Службы поиска можно найти в документе Создание и настройка приложения-службы поиска в SharePoint Server 2013. Все проводимые нами действия будут разделены на два основных этапа, каждый из которых имеет свои подзадачи:
1. Настройка Службы поиска (Search Service Application)
1.1. Создаём управляемую учетную запись SharePoint Managed Account для Службы поиска
1.2. Создаём служебное веб-приложение Службы поиска (Service Application)
1.3. Настраиваем источники контента (Content Sources)
1.4. Запускаем первый обхода источника контента (Full Crawl) и проверяем результат.
2. Настройка сайта Центра поиска (Global Search Center Site)
2.1. Создаем управляемую учетную запись (Managed Account)
2.2. Создаем веб-приложение (Web Application)
2.3. Создаем семейство сайтов (Site collection)
2.4. Регистрируем запись в DNS для Host Header
2.5. Регистрируем SPN для Host Header
2.6. Настраиваем доступ пользователей к корневому сайту
2.7. Задаем Центр поиска в настройках Службы поиска и проверяем результат.
1. Настройка Службы поиска (Search Service Application)
1.1. Создаём управляемую учетную запись SharePoint Managed Account для Службы поиска
Эта учетная запись будет использоваться для запуска Windows-службы SharePoint Server Search Service а также для запуска пулов приложений (IIS Application Pool) связанных с Службой поиска - Application Pool for Search Admin Web Service
Application Pool for Search Query and Site Settings Web Service
Эта же учетная запись в дальнейшем при создании Службы поиска будет назначена в качестве Default content access account.
Создаём управляемую учетную запись SharePoint с помощью SharePoint 2013 Management Shell либо в Windows PowerShell предварительно подгрузив PSSnapin SharePoint:
Add-PSSnapin Microsoft.SharePoint.PowerShell $User = "KOM\s-KOM-AD01-SP-Search" $Pass = ConvertTo-SecureString "Pa$sW0rD" -AsPlainText -Force $Cred = New-Object Management.Automation.PSCredential ($User, $Pass) New-SPManagedAccount -Credential $Cred
Результат проверяем в Центре администрирования (ЦА) по ссылкам Central Administration > Security > General Security > Configure managed accounts
1.2. Создаём служебное веб-приложение Службы поиска (Service Application)
Для создания нового экземпляра веб-приложения Службы поиска перейдём в ЦА по ссылкам:
Central Administration > Application Management > Service Applications > Manage service applications
В ленте на вкладке Service Applications нажимаем New и в выпадающем списке выбираем пункт Search Service Application
В открывшейся веб-форме нам нужно будет указать несколько параметров, которыми будет сконфигурирована создаваемая Служба поиска.
Имя службы (Name) зададим, например Search Service Application
В качестве учетной записи, от имени которой будут запущены Windows-служба поиска (Search Service Account), выбираем из ниспадающего списка управляемую учетную запись, которую создали ранее: KOM\s-KOM-AD01-SP-Search
Далее сконфигурируем параметры двух служебных пулов приложений IIS создаваемых для Службы поиска.
Пул приложений IIS для веб-службы Search Admin Web Service с параметрами:
Создать новый пул приложений - Create new application pool
Имя пула приложений, например - SharePoint Search Admin Web Service AppPool. Не смотря на то, какое имя мы здесь введём, в консоли IIS Manager после создания Службы поиска пул приложений будет отображаться в виде длинного идентификатора.
Управляемая учетная запись та же, что и для служб поиска:
Select a security account for this application pool > Configurable > KOM\s-KOM-AD01-SP-Search
Пул приложений IIS для веб-службы Search Query and Site Settings Web Service с параметрами:
Создать новый пул приложений - Create new application pool
Имя пула приложений, например - SharePoint Search Query and Site Settings Web Service AppPool.
Управляемая учетная запись та же, что и для служб поиска:
Select a security account for this application pool > Configurable > KOM\s-KOM-AD01-SP-Search
Нажимаем ОК и дожидаемся статусного сообщения об успешном создании приложения Службы поиска…
Убеждаемся что веб-приложение новой Служба поиска появилась в списке приложений в ЦА по ссылкам: Central Administration > Application Management > Service Applications > Manage service applications
Выбираем приложение Службы поиска и в ленте на вкладке Service Application нажимаем Manage
Откроется главная страница Администрирования настроек Службы поиска Search Administration. В качестве Contact e-mail address for crawls зададим адрес электронной почты группы администраторов.
Здесь же задается URL сайта Центра поиска (Global Search Center URL), который мы сконфигурируем позже.
1.3. Настраиваем источники контента (Content Sources)
После того как Служба поиска создана, нам необходимо настроить для этой службы источники контента (Content Sources). Подробную информацию о том как управлять источниками контента можно найти в документе Добавление, изменение и удаление источника контента в SharePoint Server 2013. Приведу небольшую выдержку из этого документа:
При создании приложения-службы поиска автоматически создается источник контента с именем "Локальные сайты SharePoint", который настроен на обход всех сайтов SharePoint в локальной ферме серверов. Можно создать дополнительные источники контента, чтобы указать другой контент для обхода и определить, как система должна выполнять обход этого контента. Созданный источник контента можно изменить или удалить в любое время.
Чтобы настроить источники контента на главной странице Администрирования настроек Службы поиска Search Administration в левой зоне навигации в разделе Crawling перейдем по ссылке Content Sources. В открывшемся списке источников контента выберем созданный по умолчанию источник Local SharePoint sites и в меню действий выберем Edit
В открывшейся форме редактирования источника контента проверим, чтобы в параметре Start Address были указаны URL корневых сайтов всех семейств сайтов, контент которых должен участвовать в поиске.
В параметре Crawl Schedules, который по умолчанию не настроен, нужно задать расписание полного (Full Crawl) и инкрементального (Incremental Crawl) обхода источника данных.
В нашем примере будет включен полный обход один раз в неделю и дополнительный (инкрементальный) обход один раз в 2 часа.
Непрерывный обход (Continuous Crawl) контента, как одно из нововведений SharePoint 2013, является альтернативой добавочному обходу контента и может быть применим только к источникам контента типа Сайты SharePoint. Подробнее об этом виде обхода можно узнать из документа Управление непрерывными обходами контента в SharePoint Server 2013
Непрерывный обход нацелен на содержание индекса поиска в самом актуальном состоянии и поэтому он может более агрессивно нагружать систему, так как по умолчанию запускается с интервалами в 15 минут. Особенностью настройки непрерывного обхода является то, что интервал обхода можно настроить только через PowerShell
$ssa = Get-SPEnterpriseSearchServiceApplication $ssa.SetProperty("ContinuousCrawlInterval",n)
Где n — это регулярный интервал в минутах, через который будут начинаться непрерывные обходы контента. Интервал по умолчанию — каждые 15 минут. Самый короткий интервал, который можно установить — 1 минута
Если контент сайтов меняется не очень интенсивно, то вместо непрерывного обхода вполне можно использовать добавочный (инкрементальный) обход с бОльшими интервалами времени.
1.4. Запускаем первый обхода источника контента (Full Crawl) и проверяем результат
После того как настройки источника контента изменены и сохранены можно попробовать выполнить первый полный обход этого источника - Start Full Crawl
Просмотреть лог обхода источника контента можно в разделе настроек Diagnostic по ссылке Crawl Log. Историю обходов можно увидеть по ссылке Crawl History. Состояние выполняемого в данный момент полного обхода видно на текущей странице, где в столбце Started видно когда он запущен, но пока нет данных в столбце Completed
Дожидаемся когда первый полный обход будет завершен (должна появится дата и время завершения в колонке Completed) и выполняем проверку результата написав какой-нибудь запрос в поисковом окошке в правой верхней области одного из наших сайтов, который участвовал в обходе контента.
Если обход источника контента для этого сайта прошёл успешно, то мы должны получить соответствующие результаты поиска…
2. Настройка сайта Центра поиска (Global Search Center Site)
Если в ферме SharePoint используется несколько семейств сайтов, то для повышения удобства работы пользователей с поиском, возможно имеет смысл создать выделенный центральный сайт, на котором можно будет произвести поиск сразу по всем семействам сайтов и другим источникам. Описание такого сайта можно найти в документе Создание сайта центра поиска в SharePoint Server 2013. В целом процедура создания такого сайта ничем не отличается от уже описанной ранее последовательности действий в заметках Часть 3 или Часть 6
2.1. Создаем управляемую учетную запись (Managed Account)
Add-PSSnapin Microsoft.SharePoint.PowerShell $User = "KOM\s-KOM-AD01-SP-AP-GSС" $Pass = ConvertTo-SecureString "Pa$sW0Rd" -AsPlainText -Force $Cred = New-Object Management.Automation.PSCredential ($User, $Pass) New-SPManagedAccount -Credential $Cred
2.2. Создаем веб-приложение (Web Application)
Add-PSSnapin Microsoft.SharePoint.PowerShell $Auth = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication $Auth.DisableKerberos = $False New-SPWebApplication -Name "SharePoint Site KOM-AD01-SP-GSC" ` -Port 80 ` -HostHeader "KOM-AD01-SP-GSC.holding.com" ` -Path "C:\inetpub\wwwroot\wss\VirtualDirectories\KOM-AD01-SP-GSC" ` -AllowAnonymousAccess:$False ` -SecureSocketsLayer:$False ` -AuthenticationProvider $Auth ` -AuthenticationMethod "Kerberos" ` -Url "http://KOM-AD01-SP-GSC.holding.com:80/" ` -DatabaseServer "KOM-AD01-SQLSP" ` -DatabaseName "WSS_Content_GSC" ` -ApplicationPool "SharePoint AppPool KOM-AD01-SP-GSC" ` -ApplicationPoolAccount (Get-SPManagedAccount "KOM\s-KOM-AD01-SP-AP-GSC")
2.3. Создаем семейство сайтов (Site collection)
Add-PSSnapin Microsoft.SharePoint.PowerShell $SiteTemplate = Get-SPWebTemplate "SRCHCEN#0" New-SPSite -Url "http://kom-ad01-sp-gsc.holding.com/" ` -Name "Центр поиска" ` -Description "Веб-узел централизованного поиска по всем сайтам" ` -CompatibilityLevel 15 ` -Language 1049 ` -Template $SiteTemplate ` -OwnerAlias "KOM\sp-admin1" ` -OwnerEmail "sp-admin1@holding.com"` -SecondaryOwnerAlias "KOM\sp-admin2" ` -SecondaryEmail "sp-admin2@holding.com"
2.4. Регистрируем запись в DNS для Host Header
Import-Module DnsServer Add-DnsServerResourceRecordA -ZoneName "holding.com" -ComputerName "DNSSErver" -Name "KOM-AD01-SP-GSC" -IPv4Address "10.160.0.16" -AllowUpdateAny:$False -CreatePtr:$False -TimeToLive 01:00:00
2.5. Регистрируем SPN для Host Header
setspn -S HTTP/KOM-AD01-SP-GSC.holding.com KOM\s-KOM-AD01-SP-AP-GSC setspn -S HTTP/KOM-AD01-SP-GSC KOM\s-KOM-AD01-SP-AP-GSC
2.6. Настраиваем доступ пользователей к корневому сайту
Заходим в Параметры сайта только что созданного Центра поиска, открываем пункт Разрешения для сайта…
В списке разрешений выбираем созданную по умолчанию группу с именем вида <Название сайта> – посетители, которой предоставлен доступ на чтение сайта…
Добавляем в эту группу SharePoint доменные группы пользователей, которым мы хотим предоставить возможность пользоваться этим сайтом. Чтобы включить любых пользователей, прошедших аутентификацию добавим группу NT AUTHORITY\Authenticated Users
2.7. Задаем Центр поиска в настройках Службы поиска и проверяем результат
Возвращаемся в ЦА на главную страницу Администрирования настроек Службы поиска Search Administration и указываем URL сайта Центра поиска (Global Search Center URL) который мы только что развернули
В нашем примере это http://kom-ad01-sp-gsc.holding.com/
После этого переходим по этому самому URL на главную страницу сайта Центра поиска, где из диалоговых элементов будет только поисковая строка. В поисковой строке набираем запрос который должен будет вернуть нам результаты с разных коллекций сайтов.
Если мы видим, что в настроенной нами конфигурации не работает поиск людей, то есть в результаты поиска не попадают данные из службы профилей, то нужно ознакомится с документом Развертывание поиска людей в SharePoint Server 2013.
Как минимум нужно проверить имеет ли учетная запись службы поиска специальный тип доступа Retrieve People Data for Search Crawlers к службе профилей
Также можно проверить то, что в источниках обхода был добавлен URL-адрес веб-приложения, в котором развернута коллекция веб-сайтов “Личные сайты” в формате sps3, как например в нашем случае это sps3://kom-ad01-sp-mys.holding.com
Дополнительные источники информации:
Обратная ссылка: SharePoint Server 2013 — Библиотека Видео с хранением контента вне базы данных | Блог IT-KB /
Через некоторое время исчез поиск по людям (изначально был создан отдельный обход для личных сайтов). Проверил журнал обхода - ошибка, нет прав доступа к репозитарию sps3://personalsites. Права есть и к веб-приложению и к приложению-службе профилей пользователей, и вообще я добавил учетку sp_search в локальные администраторы. Ничего не помогает. Пересоздал приложение-службу поиска - ноль результата. Что делать?
Дополнительные сведения, которые отображаются в popup'е при поиске людей как заполнить?
У меня по умолчанию в этой всплывашке отображаются только данные о группах рассылки найденные с соответствующим сотрудником.
Есть один момент, который у меня вызывал ошибку пересылки запроса поиска с основного сайта на сайт глобального поиска. В П.2.7 если вместо "http://kom-ad01-sp-gsc.holding.com/" задать "http://kom-ad01-sp-gsc.holding.com/Pages" то все работает. Автору глобальное спасибо за мануалы! )
Поддерживаю. "/results" необходимо добавлять в URL, иначе поиск не работает.
Поддерживаю. «/pages» необходимо добавлять в URL, иначе поиск не работает.
Специально перепроверил настройки своего SharePoint. Всё настроено именно так как описано в заметке, то есть без "/Pages" и при этом поиск вполне себе нормально работает.
Здравствуйте! Столкнулся с проблемой разграничения кофидициальной информации в поиске. Т.е. те, кто ищет например по слову "Пупкин" может найти с главного сайта, документ в закрытом сайте содержащий слова "Пупкин", без прямого доступа, только результат поиска. А там и так не мало информации, путь к файлу, название файла и часть строк. Как я понял поиск по сайту http://kom-ad01-sp-gsc.holding.com/ цепляет и все внутренние сайты, http://kom-ad01-sp-gsc.holding.com/sites/* и даже если сайт http://kom-ad01-sp-gsc.holding.com/sites/admin будет закрыт для пользователя то он из корневого сайта или из центра поиска увидит все результаты, но если он будет искать Пупкина из соседнего открытого сайта /sites/staff То он не увидит результ из /admin, т.к. область идет от /staff/*. То есть подразумевается что результат поиска с корневого сайта охватывают все подсайты... Каким образом можно запретить выдавать результат из закрытых подсайтов с главной, сохраняя поиск в закрытом сайте пользователям с доступом? Извините за длинный текст, страрался как можно подробней изложить суть.
Ответил на свой вопрос. В п 1.3 нужно создать новый источник контента, где в "Параметры обхода контента" выбрать "Выполнять только обход контента семейства веб-сайтов для каждого начального адреса" и перечислить в спсиске адреса всех семейств веб-сайтов. В правиле по умолчанию удалить эти адреса, т.к. там не возможно изменить параметры обхода. Так же по рекомендациям Microsoft из источника: http://technet.microsoft.com/ru-ru/library/dn535606%28v=office.15%29.aspx, было создано еще одно правило, для обхода профилей пользователей с адресом узла личных сайтов "sps3://*". Как-то так. Остается только вопрос поиска в личных файлов пользователя, почему-то пока не работает, но не столь критично.
Правильно я понимаю, что учетная запись Sp-Search должна быть в группе локальных админов? иначе из под нее не запускается служба Sharepoint Server Search
Так же без создания Crawl Rules обход завершался ошибкой
Большое спасибо за статью.
После настройки службы поиска в топологии приложения поиска пишет -
"Не удалось получить данные о состоянии работоспособности компонентов топологии. Это может быть связано с тем, что компонент администрирования не запущен и не работает."
При этом состояние службы - выполняется.
Пробовал удалять службу поиска и создавать снова, то же самое.
В чем может быть проблема?
Отвечаю на свой же вопрос - не был установлен фреймворк 3.5. причем через диспетчер он не стал устанавливаться, ссыласья на его отсутствие в дистрибутиве.
Фреймворк установился только через командную строку - Dism /online /enable-feature /featurename:NetFx3 /All /Source:D:\sources\sxs /LimitAccess при чем только после копирования папки sxs на физический диск
После этого топология поиска заработала.
Как у вас вообще установилась ферма SP без framewark 3.5 ? Инсталяшка без этого компонента не запускается, т.к. без него не работает IIS. Поделитесь )
Алексей, спасибо большое за приведенный и разжеванный материал по SP 2013, за корректные скрипты и советы, эти статьи в свое время помогли мне более менее разобраться с этим продуктом и явились отличным дополнением к материалам MS technet. Удачи вам и ждем материалов по SP2016 )
день добрый, изучая ваши статьи по Sharepoint 2013 sp1, делаю тестовую среду у себя. задался таким вопросом. что с начало правильнее сделать, установка Sharepoint и sql и после мигрирование с 2010 с базами. или с начало нужно в шарике все настроить все приложения службы которые описаны например в ваших статьях, а потому уже мигрировать на настроенный шарик??? подскажите.
Всё зависит от того, насколько наворочено контента и кастомизаций в текущей инсталляции SharePoint 2010. Если всё на уровне стандартных списков и библиотек документов, без изысков, то в таком случае я бы сделал чистую установку SP2013, а потом выполнил бы миграцию контента с помощью каких нибудь инструментов типа ShareGate (не знаю как сейчас, а раньше они выдавали полнофункциональную демку на 30 дней, с помощью которой можно было легко и непринуждённо перетащить контент со старой версии на новую без всяких танцев с миграцией SharePoint)
Владимир,
Вот официальные рекомендации от компании производителя
Overview of the upgrade process to SharePoint 2013 (https://technet.microsoft.com/en-us/library/cc262483.aspx)
Наглядное видео
Upgrading SharePoint 2010 to SharePoint 2013 (https://www.youtube.com/watch?v=V5sPIMFazpc)
И небольшая инструкция от Louis-Philippe Lavoie
SharePoint 2010 database migration to SharePoint 2013 (http://en.share-gate.com/blog/step-by-step-upgrade-sharepoint-2010-database-to-sharepoint-2013)
Надеюсь, они Вам помогут в решении задачи! :)
Спасибо, большое за данный матировал, его я уже смотрел. изучал... просто моя проблема на самом деле, в том, что у меня после миграции портала с 2010 на 2013 не работает обновление дизайна и меню на 2013... инструкции выполняю которые есть ... миграции не происходит, вот и пытаюсь может перенять опыт людей которые делают это постоянно... после их инструкции инструкций попробовать сделать, но пока не очень получается. портал раньше был на wss 3.0 нет нечего кастомного.
просто у меня этой менюшки не появляется, которая на всех видео сверху и предлагает на 2013 дизайн пересесть...
я про менюшку где написано : Experience all that sharepoint 15 has to offer. Start now or Remind me later
вопрос, нужно ли делать setpspn для поиска, если ты поиска делаешь в семестве сайтов где основной портал лежит?
тоесть setspn -s http/portal\site\seacrh домен\search
или setspn делаешь тогда когда только создаешь отдельное веб приложение поиска??
Подскажите, есть основной сайт http://portal.domain.ru , мне нужно, чтобы поиск индексировал только Wiki подсайт http://portal.domain.ru/wiki/it , но если вбиваю в источники веб-сайт http://portal.domain.ru/wiki/it то он начинает индексировать всё. Куда копать ?
Коллеги приветствую. Есть вопрос по поиску. Настроил все по статье, поиск для участников с вхождением в группу шарпойнт с разрешением "Изменение" и разумеется входящих в группу - Владельцы с группой разршений Полный доступ - все работает отлично. Но как только мне понадобилось разграничить права:
Дал одному сотруднику права, добавив его в группу шарпойнта - Участники, на "Измение" для заполнения списка реестра документов, а остальных пользователей отдела добавил только в группу "посетители" которые имею группу прав шарпойнт - "Чтение" и... поиск не работает, не выводит результатов, и ошибок тоже никаких не выводит ни в журналах ни в веб окошке. Какой же чекбокс в группе разрешений необходимо выставить Группе - Чтение чтоб поиск начал выдавать результаты?
При чем пользователь видит все элементы списков, но искать их не может
Странные дела с этими правами на поиск в библиотеке. Стоило добавить группу посетителей с правами на чтение в разрешения "Изменить", пройтись обходчиком а потом вернуть обратно права на чтение - поиск начал выдавать результаты.... ЧТЯДНТ?
При создании веб-приложения Службы поиска через веб-гуй в IIS создаются пулы с непонятными именами в виде длинных ID.
Если есть желание, чтобы пулы IIS имели вменяемые имена, то можно создать их предварительно вручную с помощью PowerShell.
То есть, после выполнения пункта "1.1. Создаём управляемую учетную запись SharePoint Managed Account для Службы поиска" и перед выполнением пункта "1.2. Создаём служебное веб-приложение Службы поиска (Service Application)" можно создать пулы с желаемыми именами командами следующего вида:
New-SPServiceApplicationPool -Name "SharePoint AppPool Search Admin Web Service" -Account "KOM\s-KOM-AD01-SP-Search"
New-SPServiceApplicationPool -Name "SharePoint AppPool Search Query Web Service" -Account "KOM\s-KOM-AD01-SP-Search"
После этого, в ходе выполнения пункта "1.2. Создаём служебное веб-приложение Службы поиска (Service Application)" выбираем уже существующие, созданными нами, пулы IIS.