Построение поисковых приложений на основе fast search server...
DESCRIPTION
Код сессии OFS206. Microsoft. Сергей Якимчук. Microsoft. Построение поисковых приложений на основе FAST Search Server for SharePoint. Сергей Пиминов. Содержание. Обзор поисковых продуктов Microsoft Демонстрация базовых возможностей FS4SP Архитектура FAST Search for SharePoint - PowerPoint PPT PresentationTRANSCRIPT
Код сессии OFS206
Построение поисковых приложений на основе FAST Search Server for SharePoint
Сергей Пиминов Microsoft
Сергей ЯкимчукMicrosoft
Содержание
Обзор поисковых продуктов MicrosoftДемонстрация базовых возможностей FS4SP
Архитектура FAST Search for SharePointДемонстрация решения База знаний
Приложения на базе поисковых алгоритмовДемонстрация разработки на платформе FAST
Производительность FAST for SharePointСамая важная новость про FAST Search for SharePoint
Структура современного портала
Cоциальная сетьПоискИнформаци
я
Главное средство доступа к информации
Полнофункциональный настраиваемый поиск приложения на базе поиском
Учет социальных пользовательских предпочтений, визуализация, учет
контекста
Еще коннекторы, Права доступа, Релевантность++,
Производительность, Администрирование+, Масштабируемость++
SharePoint Enterprise CAL + Серверная лицензия
FAST Search for SharePoint
Стандартная клиентская лицензияSharePoint +
Серверная лицензия SharePoint
Полнофункциональный поискНеглубокая настройка
Учет пользовательских предпочтений (теги, рейтинги)
Коннекторы, Права доступа, Релевантность,
Производительность, Администрирование, Масштабируемость
FAST в топологии фермы SharePoint
SharePoint Server
Управление контентом
Обработка запросов
Хранение данных
Сервисы администрирова
ния
SharePoint Search
Поиск людей
Поиск данных
Обход контента
Запросы в базы данных
FAST Search
Обход контента Обработка контента
Поиск данных Администрирование поиска
Применение в любой отрасли
Быстро наполнить информацией новый порталПредоставить механизм управления релевантностью Обогатить портал удобными интерактивными интерфейсами
Демонстрация
СтандартныевозможностиFS4SP
Что мы увидели?
Изменение интерфейса поиска (превью, количество найденных, дубликаты, поиск похожих)Выявление Людей, Компаний, Местоположений и других словарейПривязку к метаданнымПрофили релевантностиПоиск по маске (wildcards)
CONTENT REFINEMENT INDEXING
SEARCHING (MATCHING) QUERY & RESULT (QR) PROCESSING 30-120 QPS / QR Node
SECURITY ACCESS MODULE (SAM)
SharePoint FrontEnd
FS14 ADMINISTRATION
CRAWLER 10 docs/sec/Crawler Node
FILE TRAVERSER
LOTUS NOTES CONNECTOR
JDBC CONNECTOR
Shared SharePoint Indexing Connector SharePoint Farm
Powershell Cmdlet clients
SharePoint Backend
Processor ServerFS14 pipeline:
callbacks: completed (processed)
WALinkStorer
WAAttributeLookup
PropertiesReporter
FIXMLGenerator
RTSOutput
Dictionaries
psctrl”doctrace on””debug on”
Alert from psctrl when schemais updated
indexeradmin
indexerinfo
getfixmlIndexer (indexer)
data/data_fixml
data/data_index
:15900/status
Index DispatcherN / Index ClusterIndex DispatcherN / Index ClusterIndex Dispatcher
(indexingdispatcher)N / Index Cluster
Multi-node schedulermultinode setup only
Site ManagerN / Crawler node
Site WorkersN/Crawler Node
Crawler config(internal format)
XML formattedConfig data
-f-G
crawlerfs Many/Crawler Node
Crawler cache(store)
postprocess
postprocess1/Crawler Node
ppdupDuplicate detector(Multinode only)
crawleradmin
File Traverser
Java Connection Manager
connect.bat
false
config file db.xml
jdbc
Архитектура решения
Callbacks:secured (stored fixml), completed
(live)
Centrally managedConfig files
/esp/etc/config_data/*
Collections List/esp/etc/
CSConfig.xml
config server
Index Profileuploaded through
Schema Object Model
bliss
Monitoring Service 1/host
Monitoring –ServiceConfig
XML-RPC /HTTPclients
Logging from ESP components
Results Out
Queries InContent In
Node Scheduler1 /Crawler Node
optional
Content DistributorN per Installation :16100
Callbacks by client polling Content distributor failover throughName Service (backup CD registers as master)
/etc/processors/<stage>.xml
/lib/python2.5/processors
<stage>.py(c)
FastHTMLParser
HTTP(S)
etc/PipelineConfig.xml(owned by ConfigServer)
/esp/etc/PipelineConfig.xml
CONFIG SERVER 1/installation
rtsearchrc.xml(fetched from CS
at startup)
Various config files generated by bliss fixmlindex 1 / partition
columns
docapi
Passive Fault Toleranceby 2nd indexer row only
receiving FiXML
NODE CONTROLLER 1/host
allservers
/esp/etc/NodeConf.xml nctrl
start [<process>]stop [<process>]reloadcfgstatus
Daemon or standalone mode
doclog Logging info from doc processors-l , -a. or doc-id
/esp/etc/config_data/RTSearch/<cluster>/
index-profile
Componentsread theirdata atstartup
Index copying(multinode only)
Add columns for
content capacity
and doc grouping
7-10 mill +/-
docs/column
75-100 QPS / rowfdispatch
(1/search node):15700
results
data/data_index/index_n_m
fsearch(index_0_m)
fsearch(index_1_m)
fsearch(index_2_m)
:157xx
Rows and columnsEach column holds a unique subset of the complete dataEach row holds the complete dataScale for volume by adding columnsScale for queries by adding rows
The Top Level Dispatcher sends the same query to ONE node in each column and then merges the results.
N partitions per node Search Node
To other columns
fsearchctrlResponsible for configuring partitions
and switching in new indexes
/var/logs/querylogs
30-120 QPS / QR Node
Query
results
Top LevelDispatch
(topfdispatch)(optional):15151
esp/var/searchctrl/etc/enginesrc-15150
Multinode installations:Top level dispatcher (TLD) used in multicolumn installations only
QRServer looks up TLD name in: esp/etc/qrserver/webcluster.spec
TLD started by Node Controller:nctrl start topfdispatch
QR Server(qrserver)
N/Installation
:15100
QT Pipeline
RP Pipeline
WebAnalyzer
WARankDocument
WALinkRankAnchorTextFormatter
LanguageAndEncodingDetector
Lemmatizer
NOTE:All port numbers are given relative to a base port of 13000.For other base ports, please subtract 13000 from port numbergiven and then add your base port to arrive at correspondingport number for your installation
adminserver
FastXML files
Conenctor & Log config
FastXML files
State DB
Lotus Notes Content Connector
Lotus Notes User Directory Connector
MS
S G
atherer
Moss
File shares
Web Content
Web Content
File shares
Lotus Notes
Database
MS
S P
ipeline
FAST Plugin
MS
- FAS
T Interface
Docum
ent Manager
Docum
ent S
ubmitter W
orker
MSPermissionDecoder
DocSecurityUnknown
DateTime Doc Procs
PropertiesMapper
Tokenizer
Vectorizer
EETokenizer
EEPropertiesMapper
OffensiveEntityFilter
LinkNormalizer
TeaserGenerator
QueryFormatter
SPAttributeLookup
<format>ConvertersSimple, PFD, Ifilter. SearchExport
EncodingNormalizer
Crawler <procs>Demarshaller, RSS,SiteMap
<format>Detectors
DocInit
DocumentRetriever
URLProcessor
Decompressor
<Entity Extraction>Persons, Companies,
Locations, mail, date & Time,Price,terms, filenames, URL
PropFeedingFixture exclusion list
UTFDetectorConverterconverter_rules.xml
(deside what converter to use)
Docproc code and configuration
WALinkStorerReceiver
Text files
WALookupDB
DB
waconfig.xml
BrowserEngine
Adm
in O
bjec
t Mod
el (O
M)
Adm
in O
bjec
t Mod
el (O
M)
FS14 Powershell Cmdlet
Name Server
Configserver
Resource Store
Application Server
InfoToolSAM Admin
SAM Worker
SAM configuration
User Monitor
ACL Monitor
Search Filter generator
Last Minute Access Rights
QR
ser
ver
Pro
xy
RSS
Query Web Service
PowerShell
Fede
ratio
n O
bjec
t M
odel
FS 14 Query
SharePoint ISSCentral Administration
Config DatabaseContent Database
User ContextExctractor
ContextualUserProperties
ConfigureGet User Properties
WCF
Contextual Keyword managenent
Keyword Replacement
Synonym Expansion
Featured Content
Best BetPromotion (Xrank query mod)
Search Web Parts
FS 14 Query CompletionMatcher FW
Property backend
psctrl
Alert pipelineof updated schema
FiXML to be indexed
Report discovered crawled properties
Logserver
FASTMiddleWare
MetricsConfig
LogFiles
Win 2008 Server• Event Log• WMI• Perfromance Counters
Operations Manager (SCOM 2007)
Que
ry
Obj
ect
Mod
el
Build Query Key Word queryCompletionRenderingPresenting
Que
ry P
roxy
Search Service Application
FA
ST
Sea
rch
AP
I
SS Query
Sea
rch
Ser
ver
(Peo
ple
sear
ch)
Configuration of:•Ssic connector•Schema •Document processing•Admin
Site Collection Administration
• Keywords• Site promotion/demotion• User context
Extended Connector Application
Manage ServiceApplications
Business Data Catalog
Cust. Protocol Handlers
Архитектура решения
Коннектор к SharePoint
Web Crawler
JDBC коннектор
Коннектор к Lotus Notes
Файловый сервер
Обработка контента
Поставщик контентаДекомпрессор
Детектор форматаКонвертер
Язык и кодировкаHTML парсер
НормализаторWeb Analyzer
Выявление сущностей«Векторизатор»
Привязка свойствОтчет по индексированию
ТокенизаторВыявление лемм
Выявление времениРанга
Применение правил безопасностиГенератор FIXML
Индекс
Поиск (определение соответствия
индекса запросу)
Модуль безопасности доступа (SAM)
Обработка запросов
TLD-диспетчерСервер обработки
pipeline результатовСервер обработки pipeline запроса
Сервисы логирования и конфигурирования
SharePoint FrontEnd
Экстрактор контекста пользователя
Сопоставление похожим запросамWeb-части
Web-сервис запросов
Адми
нист
риро
ван
ие п
оиск
а
Фер
ма
Shar
ePoi
nt
Контент РезультатыЗапросы
Применение технологии FAST
Интеграция со скоростью мыслиБизнес анализ без «кубов»Базы знанийПовышение заинтересованности пользователей
Демонстрация
База знаний
FS4SP
Итак, мы увидели как FAST помогает в
Подготовке отдела продажПоддержке call-центровОбмене данных между сотрудниками
FAST для разработчика
Коннектор к SharePoint
Web Crawler
Коннектор к JDBC
Коннектор к Lotus Notes
Файловый сервер
Очистка контентаПоставщик контента
ДекомпрессорДетектор формата
КонвертерЯзык и кодировка
HTML парсерНормализаторWeb Analyzer
Выявление сущностей«Векторизатор»
Привязка свойствОтчет по индексированию
ТокенизаторВыявление лемм
Выявление времениРанга
Применение правил безопасностиГенератор FIXML
Индекс
Поиск (определение соответствия
индекса запросу)
Модуль безопасности доступа (SAM)
Обработка запросов
TLD-диспетчерСервер обработки
pipeline результатовСервер обработки pipeline запроса
SharePoint FrontEnd
Экстрактор контекста пользователя
Сопоставление похожим запросамWeb-части
Web-сервис запросов
Адми
нист
риро
ван
ие п
оиск
а
Фер
ма
Shar
ePoi
nt
Контент РезультатыЗапросы
Разр
абот
ка к
онне
ктор
ов
Внес
ение
изм
енен
ий в
пр
оцес
с об
рабо
тки
конт
ента
Расш
ирен
ие п
оиск
овой
вы
дачи
Веб-
част
и и
инте
рфей
с
Разработка коннекторовКлассификация
Connectors
OOB SharePoint Search Connectors
SharePoint sites, Web sites, File
shares, Exchange
FAST Specific Connectors
Web Crawler, JDBC, Lotus Notes
Connector Framework
Databases, Web services, Custom
code
Инструменты для разработки коннекторов
SharePoint Designer 2010Создание BDC моделей для стандарных типов BDC подключений (SQL, Web/WCF Services и .NET Assemblies)Экспорт файлов BDC моделей между службами BCS Ограниченный набор возможностей
Visual Studio 2010Создание .NET BDC коннектора (шаблон BDC модели в VS2010)Разработка настраиваемого BDC коннектора (Нет шаблона в VS2010)
Расширения в Content Processor
Элемент процессинга (custom stage)Выявление сущностей и метаданныхДобавление логики в процесс индексацииОбогащение информации своими данными
Map Crawled Properties
Отображает все метаданные, которые были найдены на различных стадиях на поисковую базу
Web Link Analysis Анализирует гиперссылки в тексте документа, извлекает тексты ссылок, которые учитываются при определении релевантности документа
Document Vector Создает уникальное представление документа, включающее значимые термины и частоту их упоминания. Используется для поиска похожих документов.
Date and Time Normalization
Конвертирует даты и время в стандартный формат для обработки локальных форматов. Например, определяет что 14.03.2010 это 14 марта 2010 года.
Entity Extraction Определяет соответствие между термином в содержимом и предопределенной категорией Поддерживаются Люди, Организации и Местонахождения, может быть расширено.
Lemmatization Находит корень слова на выбранном языке. Понимает грамматику и контекст, специфичную для языка.Например, установит соответствие между бежать, бег бежит к единственной лемме.
Tokenization Применяет специфичные для языка правила для идентификации слов, понятий, идиом и фраз. Дополнительно применяет специфические разделители для телефонных номеров, чисел, стоимостей и т.д.
Language Encoding and
Detection
Определяет язык и кодировку документа. Обеспечивает применение правильных словарей и правил на следующих стадиях.
Format Conversion
Преобразует различные форматы файлов в текст.
Расширение поисковой выдачи
Профили релевантностиПользовательский контекстЯзык запросов FQL (FAST Query Language)
NEAR, ONEAR, RANK, XRANK и т.д.
Веб-части и интерфейс
Настройка веб-частей (XML, XSLT)Разработка собственных веб-частейПанель уточнений
Deep refiners ASP.NET MVC
Пример
Демонстрация процесса разработки на платформе FASTFS4SP
Задача
Формирование превью веб-страниц при индексировании веб-сайтов
Архитектура демо-сценария
Fede
ratio
n Open
Sear
ch
Enterprise CrawlerIndexerQuery
Processor
Search Center
Web Site
Peop
le S
earc
hIndex
Partition
Content Processor
PipelineExtensibility
Web Service
Веб-сервисСоздание веб-сервиса формирования изображения веб-страницы по ее URL адресу
Управляемые свойства
Добавление свойств (Crawled Property и Managed Property) для хранения ссылки на файл изображения
“PreviewCP” – Crawled Property“Preview” – Managed Property
Создание элемента процессинга
<PipelineExtensibility><Run command="fastpreview.exe %(input)s %(output)s"> <Input> <CrawledProperty propertySet="11280615-f653-448f-8ed8-2915008789f2" varType="31" propertyName="url"/> </Input> <Output> <CrawledProperty propertySet="00130329-0000-0130-c000-000000131346" varType="31" propertyName="previewcp"/> </Output></Run></PipelineExtensibility>
Настройка файла PipelineExtensibility.XML
Настройка коннектора “Enterprise Crawler”
<?xml version="1.0"?><CrawlerConfig>
<DomainSpecification name="sp"> <attrib name="start_uris" type="list-string"> <member> http://www.adventure-works.com </member> </attrib>
… </DomainSpecification></CrawlerConfig>
Правим файл crawlerconfigtemplate.xml
Запуск коннектора “Enterprise Crawler”
С:\FASTSeacrh\bin>
crawleradmin -f crawlerconfigtemplate-adv.xml
Демонстрация
Демонстрация процесса разработки на платформе FASTFS4SP
Итак, мы увидели, что FAST позволяет:
Создавать собственные элементы процессинга с вызовом внешних веб-сервисовГибко настраивать интерфейс поиска с использованием XLST и JQuery
Масштабирование FAST for SharePoint
Произв.индекса
Произв. запросов
Масштабируемость в различных контекстах
Обработка запросовПостроение индексаОбновление индекса
ОтказоустойчивостьДля поискаДля индексации
Поиск и индексация
Индексация и обработка контента
Обработка поисковых запросов
и выдача результатов
Рекомендации по оборудованию
CPU: Dual 6 coreMemory: 32 GBDisk: 70GB (RAID)
CPU: Dual 6 coreMemory: 32 GBDisk alternatives:
1.0 TB: 8 x 300 GB, SAS, 10K RPM in (RAID 10)1.8 TB: 8 x 300 GB, SAS, 10K RPM (RAID 5)3.6 TB: 16 x 300 GB, SAS, 10K RPM (RAID 5+0)6.0 TB: 12 x 1 TB, NL SAS, 7.2K RPM (RAID 10)SAN: Configured for “database performance”
Пилот или стенд для разработки
Ограничения Query rate: < 2 QPS Content: < 1 M items
Маленькая ферма
ОграниченияСреднее количестводокументов
Query rate: < 25 QPSContent: < 15 M items
Большое количество документов
Query rate < 10 QPSContent < 40 M items
Типовая ферма среднего размера
ОграниченияСреднее количестводокументов
Query rate: < 25 QPSContent: < 45 M items
Большое количество документов
Query rate < 10 QPSContent < 120 M items
Большая ферма
Пример теста с использованием Hyper-V
480M ItemsEmail Web contentSharePoint
Query rate < 10 QPS100% virtual
Пример теста с использованием Hyper-V
12 Hosts256 GB RAM4 x 8 Core Processors
Dedicated SAN 100,000 IOPS
49 VMs
Внедрение в интрасети Microsoft
И наконец…Service Pack 1 для FAST Search for SharePoint вышел:
Повысилась производительность за счет лучшего использования памяти, очистки дисков и поддержки объемных данныхВозможность добавлять и удалять столбцы указателя и поиска в работающей системе.Более гибкие настраиваемые средства извлечения свойств.Проверка орфографии и выделение корней слов для греческого языка. Улучшенное извлечение заголовков из документов Word и презентаций PowerPoint. Усовершенствованная схема по умолчанию для улучшения релевантности. Снято ограничение на 5 дополнительных справочников в CustomPropertyExtractors
Сессии по теме
Корпоративный поиск в SharePoint 2010Ричард Райли в 16.00 в зале №3
Ресурсы
Загрузить FAST Search for SharePoint: http://technet.microsoft.com/ru-ru/evalcenter/ee424282.aspxО Service pack: http://support.microsoft.com/kb/2460039
Обратная связь
Уважаемые участники!Ваше мнение очень важно для нас!В блокноте, который находится в инфопаке участника, вы найдете анкету для оценки докладовПожалуйста, оцените доклад и сдайте анкету при выходе из зала модераторуДля участия в конкурсе заполненных анкет, отметьте в анкете номер, который указан на вашем бейдже
Спасибо!
Вопросы
OFS206Сергей Пиминов
Сергей Якимчук[email protected]
Вы сможете задать вопросы докладчику в зоне Microsoft в зале №17 в течение часа после завершения этой сессии