Построение поисковых приложений на основе fast search server...

45

Upload: pascal

Post on 08-Feb-2016

73 views

Category:

Documents


0 download

DESCRIPTION

Код сессии OFS206. Microsoft. Сергей Якимчук. Microsoft. Построение поисковых приложений на основе FAST Search Server for SharePoint. Сергей Пиминов. Содержание. Обзор поисковых продуктов Microsoft Демонстрация базовых возможностей FS4SP Архитектура FAST Search for SharePoint - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Построение поисковых приложений на основе FAST  Search Server for SharePoint
Page 2: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Код сессии OFS206

Построение поисковых приложений на основе FAST Search Server for SharePoint

Сергей Пиминов Microsoft

Сергей ЯкимчукMicrosoft

Page 3: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Содержание

Обзор поисковых продуктов MicrosoftДемонстрация базовых возможностей FS4SP

Архитектура FAST Search for SharePointДемонстрация решения База знаний

Приложения на базе поисковых алгоритмовДемонстрация разработки на платформе FAST

Производительность FAST for SharePointСамая важная новость про FAST Search for SharePoint

Page 4: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Структура современного портала

Cоциальная сетьПоискИнформаци

я

Page 5: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Главное средство доступа к информации

Полнофункциональный настраиваемый поиск приложения на базе поиском

Учет социальных пользовательских предпочтений, визуализация, учет

контекста

Еще коннекторы, Права доступа, Релевантность++,

Производительность, Администрирование+, Масштабируемость++

SharePoint Enterprise CAL + Серверная лицензия

FAST Search for SharePoint

Стандартная клиентская лицензияSharePoint +

Серверная лицензия SharePoint

Полнофункциональный поискНеглубокая настройка

Учет пользовательских предпочтений (теги, рейтинги)

Коннекторы, Права доступа, Релевантность,

Производительность, Администрирование, Масштабируемость

Page 6: Построение поисковых приложений на основе FAST  Search Server for SharePoint

FAST в топологии фермы SharePoint

SharePoint Server

Управление контентом

Обработка запросов

Хранение данных

Сервисы администрирова

ния

SharePoint Search

Поиск людей

Поиск данных

Обход контента

Запросы в базы данных

FAST Search

Обход контента Обработка контента

Поиск данных Администрирование поиска

Page 7: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Применение в любой отрасли

Быстро наполнить информацией новый порталПредоставить механизм управления релевантностью Обогатить портал удобными интерактивными интерфейсами

Page 8: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Демонстрация

СтандартныевозможностиFS4SP

Page 9: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Что мы увидели?

Изменение интерфейса поиска (превью, количество найденных, дубликаты, поиск похожих)Выявление Людей, Компаний, Местоположений и других словарейПривязку к метаданнымПрофили релевантностиПоиск по маске (wildcards)

Page 10: Построение поисковых приложений на основе FAST  Search Server for SharePoint

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

Email

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

Page 11: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Архитектура решения

Коннектор к SharePoint

Web Crawler

JDBC коннектор

Коннектор к Lotus Notes

Файловый сервер

Обработка контента

Поставщик контентаДекомпрессор

Детектор форматаКонвертер

Язык и кодировкаHTML парсер

НормализаторWeb Analyzer

Выявление сущностей«Векторизатор»

Привязка свойствОтчет по индексированию

ТокенизаторВыявление лемм

Выявление времениРанга

Применение правил безопасностиГенератор FIXML

Индекс

Поиск (определение соответствия

индекса запросу)

Модуль безопасности доступа (SAM)

Обработка запросов

TLD-диспетчерСервер обработки

pipeline результатовСервер обработки pipeline запроса

Сервисы логирования и конфигурирования

SharePoint FrontEnd

Экстрактор контекста пользователя

Сопоставление похожим запросамWeb-части

Web-сервис запросов

Адми

нист

риро

ван

ие п

оиск

а

Фер

ма

Shar

ePoi

nt

Контент РезультатыЗапросы

Page 12: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Применение технологии FAST

Интеграция со скоростью мыслиБизнес анализ без «кубов»Базы знанийПовышение заинтересованности пользователей

Page 13: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Демонстрация

База знаний

FS4SP

Page 14: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Итак, мы увидели как FAST помогает в

Подготовке отдела продажПоддержке call-центровОбмене данных между сотрудниками

Page 15: Построение поисковых приложений на основе FAST  Search Server for SharePoint

FAST для разработчика

Коннектор к SharePoint

Web Crawler

Коннектор к JDBC

Коннектор к Lotus Notes

Файловый сервер

Очистка контентаПоставщик контента

ДекомпрессорДетектор формата

КонвертерЯзык и кодировка

HTML парсерНормализаторWeb Analyzer

Выявление сущностей«Векторизатор»

Привязка свойствОтчет по индексированию

ТокенизаторВыявление лемм

Выявление времениРанга

Применение правил безопасностиГенератор FIXML

Индекс

Поиск (определение соответствия

индекса запросу)

Модуль безопасности доступа (SAM)

Обработка запросов

TLD-диспетчерСервер обработки

pipeline результатовСервер обработки pipeline запроса

SharePoint FrontEnd

Экстрактор контекста пользователя

Сопоставление похожим запросамWeb-части

Web-сервис запросов

Адми

нист

риро

ван

ие п

оиск

а

Фер

ма

Shar

ePoi

nt

Контент РезультатыЗапросы

Разр

абот

ка к

онне

ктор

ов

Внес

ение

изм

енен

ий в

пр

оцес

с об

рабо

тки

конт

ента

Расш

ирен

ие п

оиск

овой

вы

дачи

Веб-

част

и и

инте

рфей

с

Page 16: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Разработка коннекторовКлассификация

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

Page 17: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Инструменты для разработки коннекторов

SharePoint Designer 2010Создание BDC моделей для стандарных типов BDC подключений (SQL, Web/WCF Services и .NET Assemblies)Экспорт файлов BDC моделей между службами BCS Ограниченный набор возможностей

Visual Studio 2010Создание .NET BDC коннектора (шаблон BDC модели в VS2010)Разработка настраиваемого BDC коннектора (Нет шаблона в VS2010)

Page 18: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Расширения в 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

Преобразует различные форматы файлов в текст.

Page 19: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Расширение поисковой выдачи

Профили релевантностиПользовательский контекстЯзык запросов FQL (FAST Query Language)

NEAR, ONEAR, RANK, XRANK и т.д.

Page 20: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Веб-части и интерфейс

Настройка веб-частей (XML, XSLT)Разработка собственных веб-частейПанель уточнений

Deep refiners ASP.NET MVC

Page 21: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Пример

Демонстрация процесса разработки на платформе FASTFS4SP

Page 22: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Задача

Формирование превью веб-страниц при индексировании веб-сайтов

Page 23: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Архитектура демо-сценария

Fede

ratio

n Open

Sear

ch

Enterprise CrawlerIndexerQuery

Processor

Search Center

Web Site

Peop

le S

earc

hIndex

Partition

Content Processor

PipelineExtensibility

Web Service

Page 24: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Веб-сервисСоздание веб-сервиса формирования изображения веб-страницы по ее URL адресу

Page 25: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Управляемые свойства

Добавление свойств (Crawled Property и Managed Property) для хранения ссылки на файл изображения

“PreviewCP” – Crawled Property“Preview” – Managed Property

Page 26: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Создание элемента процессинга

<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

Page 27: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Настройка коннектора “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

Page 28: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Запуск коннектора “Enterprise Crawler”

С:\FASTSeacrh\bin>

crawleradmin -f crawlerconfigtemplate-adv.xml

Page 29: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Демонстрация

Демонстрация процесса разработки на платформе FASTFS4SP

Page 30: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Итак, мы увидели, что FAST позволяет:

Создавать собственные элементы процессинга с вызовом внешних веб-сервисовГибко настраивать интерфейс поиска с использованием XLST и JQuery

Page 31: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Масштабирование FAST for SharePoint

Произв.индекса

Произв. запросов

Масштабируемость в различных контекстах

Обработка запросовПостроение индексаОбновление индекса

ОтказоустойчивостьДля поискаДля индексации

Поиск и индексация

Индексация и обработка контента

Обработка поисковых запросов

и выдача результатов

Page 32: Построение поисковых приложений на основе FAST  Search Server 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”

Page 33: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Пилот или стенд для разработки

Ограничения Query rate: < 2 QPS Content: < 1 M items

Page 34: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Маленькая ферма

ОграниченияСреднее количестводокументов

Query rate: < 25 QPSContent: < 15 M items

Большое количество документов

Query rate < 10 QPSContent < 40 M items

Page 35: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Типовая ферма среднего размера

ОграниченияСреднее количестводокументов

Query rate: < 25 QPSContent: < 45 M items

Большое количество документов

Query rate < 10 QPSContent < 120 M items

Page 36: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Большая ферма

Page 37: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Пример теста с использованием Hyper-V

480M ItemsEmail Web contentSharePoint

Query rate < 10 QPS100% virtual

Page 38: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Пример теста с использованием Hyper-V

12 Hosts256 GB RAM4 x 8 Core Processors

Dedicated SAN 100,000 IOPS

49 VMs

Page 39: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Внедрение в интрасети Microsoft

Page 40: Построение поисковых приложений на основе FAST  Search Server for SharePoint

И наконец…Service Pack 1 для FAST Search for SharePoint вышел:

Повысилась производительность за счет лучшего использования памяти, очистки дисков и поддержки объемных данныхВозможность добавлять и удалять столбцы указателя и поиска в работающей системе.Более гибкие настраиваемые средства извлечения свойств.Проверка орфографии и выделение корней слов для греческого языка. Улучшенное извлечение заголовков из документов Word и презентаций PowerPoint. Усовершенствованная схема по умолчанию для улучшения релевантности. Снято ограничение на 5 дополнительных справочников в CustomPropertyExtractors

Page 41: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Сессии по теме

Корпоративный поиск в SharePoint 2010Ричард Райли в 16.00 в зале №3

Page 42: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Ресурсы

Загрузить FAST Search for SharePoint: http://technet.microsoft.com/ru-ru/evalcenter/ee424282.aspxО Service pack: http://support.microsoft.com/kb/2460039

Page 43: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Обратная связь

Уважаемые участники!Ваше мнение очень важно для нас!В блокноте, который находится в инфопаке участника, вы найдете анкету для оценки докладовПожалуйста, оцените доклад и сдайте анкету при выходе из зала модераторуДля участия в конкурсе заполненных анкет, отметьте в анкете номер, который указан на вашем бейдже

Спасибо!

Page 44: Построение поисковых приложений на основе FAST  Search Server for SharePoint

Вопросы

OFS206Сергей Пиминов

[email protected]

Сергей Якимчук[email protected]

Вы сможете задать вопросы докладчику в зоне Microsoft в зале №17 в течение часа после завершения этой сессии

Page 45: Построение поисковых приложений на основе FAST  Search Server for SharePoint