Главная SharePoint, Без рубрики, Новое Настраиваем корпоративный поиск: SharePoint 2010 Search Server Express (Часть 1)
  • Настраиваем корпоративный поиск: SharePoint 2010 Search Server Express (Часть 1)

    search

    Я думаю никто не будет спорить о том, что поиск как сервис уже давно перешел в группу “business critical”. Лично я оказавшись без гугла чувствую себя гораздо глупее, поскольку процентов 50 своих знаний хранятся в голове не полностью, а лишь в качестве информации о том, где это можно найти, по какому ключевому слову можно выйти на нужную статью или книгу. Те компании, которые используют семейство SharePoint и имеют вменяемых админов, уже давно оценили плюсы корпоративного поиска. Но как быть в случае если SharePoint не используется в вашей компании?

    Не покупать же его, только для поиска. Тут хотелось бы заметить, что покупать SharePoint  не нужно, достаточно воспользоваться “первой дозой”, а именно продуктом SharePoint 2010 Search Server Express, задачей которого и является предоставление и обслуживание сервиса поиска в вашей организации. Поскольку продукт из семейства SharePoint,то неудивительно, что ему необходим SQL.

    Итак, экономя максимум средств, в данной статье я использую:

    1. Windows Server 2008 R2 SP1 (тут уж извините, бесплатно заменить нечем)

    2. SQL Server 2008 r2 Express with Advanced Services (бесплатно)

    3. SharePoint 2010 Search Server Express (бесплатно)

    Естественно нужно понимать, что использование версии SQL Express накладывает ряд ограничений, вроде поддержки только 1 процессора, 1 гигабайта памяти и размера базы в 10 гигабайт, но мы и не планируем на бесплатных версиях индексировать десятки миллионов  документов. Это бюджетный вариант для небольшой организации, которая созрела для создания собственной системы поиска.

    Что бы не городить на табуретке Эйфелеву башню, сразу определимся с системными требованиями, а это 64-разрядный процессор в  четыре ядра, 8 ГБ оперативной памяти и чем быстрее дисковая система тем лучше. На крайний случай подойдут два диска, один под систему, другой под базы данных.

    На начальном этапе я имею доменный компьютер с именем “Eta”, на котором ничего кроме обновлений, предложенных службой Windows Update не стоит. Как и у обычного SharePoint установка начинается с запуска компонента Prerequisites Installer, который обязан установить необходимую нам роль IIS сервера и набор дополнительного ПО. Т.е процедура проще некуда, необходимо лишь иметь доступ с сервера в интернет.

    Примечание: для тех кто видим продукты семейства SharePoint впервые сейчас лучше остановиться и прочитать две статьи: Введение в архитектуру SharePoint 2010 и Установка SharePoint Server 2010. После них вам будут гораздо более понятны следующие манипуляции. Так же можно посмотреть аналогичные видео на Techdays.

    Но на этом простом этапе я столкнулся с проблемой. Prerequisites Installer сконфигурировал роль IIS, а на этапе установки обновлений выпал в ошибку и продолжать отказался. Когда Prerequisites Installer аварийно завершает работу, то предлагает ознакомиться с лог файлом.

     

    pic1 

    Изображение 1. Ошибка в процессе работы Prerequisites Installer

    Нажав “Rewiew the log file”, я выяснил, что дело в патче Windows6.1-KB976462-v2-x64.msu. Я загрузил его вручную, но при попытке запуска, он сообщил мне о том, что моя ОС ему не подходит. Проблема оказалась известной и довольно быстро решение было найдено: http://support.microsoft.com/kb/934307

     

    Чтобы установить это обновление мне пришлось:

    1. Скопировать файл обновления в папку C:\KB976462\

    2. Выполнить  expand -f:* "C:\KB976462\Windows6.1-KB976462-v2-x4.msu" C:\KB976462\1

    3. Запустить  pkgmgr.exe /n:C:\KB976462\1\Windows6.1-KB976462-v2-x64.xml

    4. Повторно запустить Prerequisites Installer.

     

    pic2

    Изображение 2. Повторный запуск Prerequisites Installer

     

    При повторном запуске Prerequisites Installer установка пошла штатно и в результате я увидел сообщение об успешности инсталяции предварительных компонентов. Но это только начало, следом я запустил установку Search Server Express. Процедура установки 1 в 1 копирует SharePoint  Server, а посему единственное, что вы должны сделать – это выбрать вариант установки “Server Farm” и “Complete”. Напомню, что при другом варианте все будет настроено за вас, причем сделано далеко не лучшим образом. Мы же хотим получить гибкое решение, поэтому “Server Farm” и “Complete” единственный вариант, который нас устраивает.

    Установка сервера не финишная лента, после нее в SharePoint принято запускать мастер “SharePoint 2010 Products Configuration Wizard”,  первоначально настраивающий сервер или создающий новую ферму серверов. Но вот галочку запуска этого мастера, я бы попросил снять. К нему можно будет вернуться позднее.

     

    image_28_498D97D0

    Изображение 3. Предложение запустить “SharePoint 2010 Products Configuration Wizard” по окончанию установки SharePoint.

    Отказаться от мастера стоит по причине отсутсвия пока на сервере SQL, который еще предстоит установить. Версия SQL Server 2008 r2 Express with Advanced Services была выбрана поскольку в ней присутсвует удобная оснастка Management Studio. Не думаю, что установка SQL Server 2008 r2 Express  требует комментариев, но все же озвучу ключевые моменты.

    1. Необходимых компонентов для установки два: Database Engine Services и Management Tools – Basic.

    2. Установка производится с использованием имени экземпляра: SQLExpress

    3. Предварительно создаем в AD DS учетную запись и указываем ее в качестве учетки от которой стартует служба Database Engine. В моей конфигурации для этой цели создана учетка SQLExpress.

     

    pic4

    Изображение 4. Выбор учетной записи для запуска сервиса Database Engine.

    После установки необходимо проверить возможность подключиться к SQL через Management Studio. На этом этапе не забываем, что мы использовали именованный экземпляра SQLExpress.

    pic5

    Изображение 5.  Подключение к Database Engine из Management Studio

    Поскольку я собираюсь хранить базы данных на отдельном диске "D:", то выполню еще одну операцию, а именно в свойствах сервера (в них можно попасть через Management Studio) меняю пути  для создаваемых по-умолчанию баз.

    Базы будут храниться в папке: D:\Databases

    Транакционные логи будут храниться в папке: D:\Logs

    pic6

    Изображение 6.  Указания новых путей для хранения будущих баз данных.

    Теперь можно вернуться и запустить “SharePoint 2010 Products Configuration Wizard”. При ответе на вопросы нужно указать:

    1.  Создание новой фермы серверов. (Create new server farm)

    2.  Прописать имя SQL сервера. В примере с SQL 2008 R2 Express имя сервера будет выглядеть как Eta\SQLEXPRESS.  Создать обычную доменную учетную запись и указать ее как  “Database Access Account”. От имени данной учетной записи будет осуществлено обращение к SQL серверу и выполнено создание баз данных конфигурации и контентной базы данных центра администрирования. Так же от имени данной учетки будет работать Application pool центра администрирования и сервис SharePoint Foundation Workflow Timer.

    pic7

    Изображение 7.  Выбор SQL сервера и указание  “Database Access Account”.

    3.  Ввести passphrase. Этот пароль,  понадобится при добавлении новых серверов в ферму.

    4.  Указать порт. На этом порту будет работать  веб-приложение центра администрирования.

    5.  Выбрать протокол аутентификации.  В данном случае NTLM будет более чем достаточно.  При необходимости переключение на Kerberos можно будет сделать дополнительно.

    По окончанию работы мастера стоит добавить http://имя _вашего_сервера в список Local Intranet браузера IE, это избавит от необходимости вводить пароль при каждом подключении к админке.

    pic10

    Изображение 8. Предложение использовать масте настройки.

    При первом запуске центра администрирования будет задан вопрос: Хотите ли вы настроить сервер с помощью мастера или же настройка будет осуществлена вручную. В данно случае мастер настройки нам подойдет.

    На этапе "Configure your SharePoint Farm" нужно:

    1. Создать обычную доменную учетную запись и указать ее как "Service Account" . От имени этой учетки будут работать сервисные приложения, а так же она выступит как "Content Access Account". Т.е сервер будет обращаться к индексируемому содержимому от ее имени.

    2. Указать какие сервисы мы хотим запустить. Понятно, что нас интересует поиск, но без вспомогательных компонентов не обойтись.

    Business Data Connectivity — задача сервиса, дать возможность подключить к SharePoint внешние источники данных, такие как базы данных, доступные через ADO. И WCF либо другие веб-сервисы (Для Oracle, SAP и Seibel так же есть WCF адаптеры).

    Secure Store Service — служба пришедшая на замену Single Sign On в SharePoint Server 2007, отвечает за хранение учетных данных, таких как имена пользователей и пароли. Учетные данные, хранящиеся в этой службе будут использоваться для подключения сервисов SharePoint к внешним источникам.

    Search Service – собственно сам сервис  поиска отвечающий за индексирование содержимого ваших серверов, например  файловых серверов.

    State Service – сервис, используемый некоторыми компонентами SharePoint , для хранения временных данных.

    Web Analytics Web Service – службы аналитики использования и эффективности SharePoint. Службы выполняют вычисления и сохраняют для фермы статистику по характеристикам использования.

    Usage and Health Data Collection – служба собирает данные об использовании и здоровье фермы. Эта информация, необходимая  для наблюдения за состоянием системы, также нужна для запуска веб-сервиса Web Analytics Service.  Если у вас нет у вас нет данного сервиса или он остановлен, вы не увидите каких-либо данных в отчетах  Web Analytics Service.

    pic11

    Изображение 9.  На этапе "Configure your SharePoint Farm"

    После непродолжительной работы мастера и запуска вышеназваных  служб, вам будет предложено создать коллекцию сайтов.  Поскольку в задачу входит настроить только поиск, то я предлагаю остановиться на шаблоне коллекции “Basic Search Center

     

    pic12

    Изображение 10. Создание  коллекции сайтов на шаблоне  “Basic Search Center

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

    Для этого в центре администрирования идем по пути:

    1. Manage Service Application.

    2. Search Service Application. Выбрав службу поиска в верхней ленте кликаем "Manage"

     

    pic13

    Изображение 10. Страница администрирования поиска.

    3. В блоке "Crawling" находим "Content Source". Нетрудно догадаться по названию, что это источники контента, т.е нам нужно прописать где находится контент, который сервис будет индексировать.

    4. Создать новый "Content Source".  В качестве тестового источника, я взял папку на одном из серверов со следующим содержимым.

    pic14

    При настройке "Content Source" нужно указать:

    1. Имя источника – не влияет на индексирование, просто имя ничего большего.

    2. Тип контента – в моем случае тип "File Shares"

    3. Стартовый адрес – указание пути для индексирования. В примере \\FileServer\Doc

    4. Расписание создания полного индекса и инкрементального – сервер хочет от вас услышать когда ему создать индекс и как часто его обновлять. Естественно эти операции будут проходить в фоновом режиме. Указывать не обязательно, индексирование можно запустить и вручную.

    5. Приоритет – выбор между Normal и High. Источники контента с приоритетом High будут обрабатываться приоритетнее тех, что с Normal. Но это при одновременном индексировании нескольких источников.

    6. Запуск полного обхода источника контента – если вы хотите, что бы полный индекс начал создаваться, сразу после создания источника обхода, эту опцию нужно включить.

     

    pic15

    Изображение 11. Список источников обхода.

    Далее все просто, необходимо дождаться пока индекс будет создан. А для этого состояние источника обхода должно быть "Idle". Имейте ввиду, что для успешности операции учетная запись, которая создавалась на этапе “Configure your SharePoint Farm” должна иметь права чтения на индексируемую папку с общим доступом.

     

    pic16

    pic17

    Изображение 12. Проверка результатов индексирования.

    Когда индекс создан, прям из списка источников содержимого можно посмотреть лог обхода. (View Crawl Log). Моем случае успешно было заиндексировано 1153 файла, 30 с предупреждениями и 2 с ошибкой.

     

    pic18

    Изображение 13. Проверка поиска

    На финишной прямой можно проверить работу поиска в действии, для этого нужно открыть сайт “Basic Search Center” и ввести поисковую фразу.  Задача выполнена, но сейчас мы получили только базовый функционал. В следующей части я дам инструкции по тюнингу, а именно мы научим клиентские Windows 7 искать контент без входа на сайт, заставим сервер индексировать чужие ему форматы документов и поговорим как вставлять свою рекламу в результатах поиска.

    Продолжение следует…

    v1

    MCT/MVP Илья Рудь

Комментарии

  1. Шикарная работа. Очень информативно и понятно. Спасибо. Жду продолжения.

  2. Полностью согласен с Иваном. Материал по SharePoint просто отличный!
    Благодарю!

    С ув.

    П.С. Когда будет доступна регистрация на сайте?

  3. Спасибо, я старался.

    P.S Регистрацию на сайте включил.

    P.S Регистрацию на сайте опять выключил. Спамеры просто одолевают. Есть желание напишите почтой мне, я сделаю вам аккаунт.

  4. Илья, а что, капча не рулит?

  5. Видимо уже нет. 1 спам регистрация в минуту меня не устраивает.

  6. Илья, спасибо, как всегда позновательно и на доступном языке.

  7. Сегодня выложу вторую часть, вот это будет гораздо интересней. ИМХО конечно.

  8. @5 Видимо, надо какуюнить капчу посложнее прикрутить – типа ReCaptcha.

  9. Статья полезная, автору респект. Прочитал по ссылке первые две статьи – напоролся на комментарий:

    > > Но даже мне, человеку близкому к БЭМ непонятно как с этим работать и что это даст в небольшой организации ? А уж пользователи думаю просто пошлют и будут заниматься своими делами на файловом сервере
    Непонятна сама концепция работы с Документами, эл.таблицами.

    > to 14 Думаю в палатке дядя Ашота не даст ничего. volk1234, если вам не понятна пользовательская сторона работы, то вы гарантировано не сможете это правильно подать конечному пользователю.

    На 100% согласен с ответом автора, но тогда к нему вопрос: “Можно ли включить в этот цикл статью именно о пользовательской стороне работы?”. Бизнес еще надо убедить, что ему это надо. Я видел несколько попыток самостоятельно внедрить SharePoint в нескольких организациях, но неудачный. Перефразирую вопрос: “Как должно предприятие перестроить бизнес-процессы, чтобы ему помог SharePoint?” или “Какие бизнес-процессы должны быть на предприятии, чтобы ему помог SharePoint?” или “Каким должен быть пользователь, чтобы он получил удовлетворение от SharePoint?” Как-то так…

  10. 1. Ну не бывает так, чтобы всем все было понятно.

    2. Вот знаете, идея супер. Я подумаю. Такую работу вообще евангелисты от MS должны делать, но поскольку там полный швах, я все же подумаю.

  11. Это было бы супер, Илья.
    Вопрос про непонимание работы пользователя задавал я.
    У нас тут в MCP клубе небольшой шорт трек по Sharepoint 2010. И даже после двух докладов по 2 часа, прочитанных MVP по данной технологии мне трудно принять и понять общее назначение данного сервиса. Я не кривляюсь, мне правдо не понятно. Все остальные технологии мне понятны и кажутся логичными.

    Очень хотелось бы тольковых примеров. Ну портал, ну ферма. И что? Ну единая точка входа. Ну могу импортировать базу клиентов из Access в Sharepoint.

    Мне бизнес(в лице директора говорит), мы тут переезжаем, и буджем пока работать без сервера. Организация сидела в домене дружественной компании – 1С в терминале и удаленном доступе, проектировщиков 2 группы- разделение доступа по папкам на FS и т.д. Я говорю директору- а как инфроструктуру без сервера(вернее 2х) сделать? Ответ- ничего потерпим…
    К чему пример- как ты правильно заметил Илья, если понимания нет пользователей не убедишь. Но ведь и себя не убедишь, что надо изучать продукт если не понимаешь зачем.
    Хотелось бы полноценной демонстрации- один день из жизни Феди Рашпина с Sharepoint 2010…

  12. Здравствуйте! Не могу понять как проверить поиск( Источники контента добавил, но строки поиска на главное не вижу. Мб как то надо настраивать ещё? Подскажите пожалуйста, очень жду!

  13. Спасибо! Очень помогло!

  14. Добрый день!
    Спасибо за материал, пишите еще.
    Бьемся несколько дней с поиском не можем настроить ни по папкам ни по локальным сайтам. Можно ли с Вами связаться не в комментариях?

  15. Добрый день. Материал хороший. Все работает. Один вопрос: не могу открыть искомые документы в браузерах Firefox chrome. Нажимаеш и ничего не происходит. в IE все работает. В чем может быть проблема открытия документов в отличных от IE браузерах?! Спасибо

  16. Добрый день! Полезная статья, как жаль, что я так поздно на неё наткнулся.
    У меня при установке Search Server 2010 происходит что-то странное. В наличии установленный SQL Server 2008 R2 Express, но каким-то образом устанавливается ещё один SQL Server 2008 не R2! При запуске мастера настройки продуктов SharePoint, всё происходит автоматически, нельзя выбрать на какой сервер развернуть базы, в итоге я имею ограничение в 4 Гб, свойственное продукту не R2. Может, я какую-то версию не ту использую? У меня почему-то не так, как в инструкции. Подскажите кто-нибудь, как добиться окна как на Изображении 7?
    Буду рад пообщаться по мылу zoloto собака mosk точка ru (боюсь роботов-собирателей адресов).

  17. Спасибо, Илья.
    Настроил по вашей статье бесплатную редакцию поиска в компании. Теперь хочется совершить следующий шаг – встроить поиск без браузера

  18. Присоединюсь к вопросу Денима. На предприятии в основном используется Firefox и Chrome очень бы не хотелось городить костыли в виде плагинов к этим браузерам.

  19. Илья, а в чем различия между:
    – FAST Search Server 2010 with Service Pack 2
    – Search Server 2010 with Service Pack 2
    – Microsoft Search Server 2010 Express

    ??

  20. Prepare servant moved:
    http://adriana.web1.telrock.net

  21. Stared fashionable project:
    http://jerry.go.telrock.net