keenan newton & jeff fried senior technical product managers microsoft corporation session code:...

54
Customizing Microsoft FAST Search Server 2010 for SharePoint Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Upload: kory-jessica-fleming

Post on 30-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Customizing Microsoft FAST Search Server 2010 for SharePointKeenan Newton & Jeff FriedSenior Technical Product ManagersMicrosoft Corporation

SESSION CODE: OSP218

Page 2: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Do More With SearchAcross a Spectrum of Customization and Development

Configure Extend Create

Intranet SearchPeople Search

Site Search

Research PortalCase Management

Save Results to Excel file…..

IP Portfolio mgmtIntel/Surveillance

Drug Discovery….

Page 3: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCreating Search VerticalsCustomizing FederationCustomizing Search Web PartsSearch Driven ApplicationsUsing FAST Query Language (FQL)

OSP217 What’s New in Enterprise Search in Microsoft SharePoint Server 2010

OSP206 Getting to know FAST Search Server 2010 for SharePoint

Page 4: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

FAST Search Extends SharePoint Superset of capabilities; common base functionality and platform

End Users Content

Content search

People search

Common query and federation APIs

Common connectors and content APIs

Best High-End Content Search based on FAST ESP

Unique Social Search from SharePoint Server 2010

Common IT Pro and developer experience

FAST Search for SharePoint

SharePoint Server2010

Advanced Content Processing

+ Profiles

Page 5: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Search 2010 ArchitectureThe platform for Search Customization

SearchWeb Parts

SharePoint Search Index

OpenSearch /Custom Source

SharePoint Indexer

Federation OM Web Service, RSS

FASTSearch Index

FAST Indexer

What’s New in 2010?Primary Search Web Parts now UnsealedFederation now a key Public OM layer

All Web Parts built on federationQuery alteration, custom Runtimes, blending results from multiple sources

Web Service / RSS Enhancements

FAST Search / SharePoint Search:Shared Web Parts, RSS, Web ServiceShared Federation OMIndex and Crawling SeparateFAST unique Content Processing Pipeline

SearchWeb Parts

Federation / Query OM Web Service, RSS

Content Processing

Page 6: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Top Customization ScenariosModify the OOB End User Experience Add new Refinement category

Show results from federated location Modify the look and feel of OOB end user

experience Enable sorting by custom metadata Add visual Best Bet for upcoming sales event Configure different ranking for HR vs. Engineering

department

Create a new Search Verticals

Create new visual elements

Query & Result Pipeline Plug-ins

Query & Indexing Shims

Create new Search Driven Applications

Create new customer search experience Indexing content Define content for search Design search experience

Create new Audio/Video/Image search experience

Show Location refinement on Chart/Maps Show tags in tag cloud Enable export results to Spread Sheet Summarize Financial Information from customers

in Graphs Expand query terms based on synonyms defined

in Term Store Augment customer results with project

information Show popular customers/people inline with

search results Show people results from other sources

Show email results from personal mailbox on Exchange Server through the EWS

Index content from custom repositories like Documentum

Create content processing plug-ins to create new metadata

create a new customer page that shows: Customer Contact Details Customer Project Details Customer Contacts Internal Experts Customer related documents

Page 7: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Developer Extensibility

Page 8: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCreating Search VerticalsCustomizing FederationCustomizing Search Web PartsSearch Driven ApplicationsUsing FAST Query Language (FQL)

Page 9: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Breaks down content to the smallest addressable chunks to build meaningUnderstands file encoding, data formats, and written languages Supports 400+ file formats, 80+ languages

Process content with advanced linguisticsAutomatic and detailed analysis creates a great search experience

FAST Content Processing Pipeline

Page 10: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Configure Optional Processing StepsXML Properties mapperOffensive Content FilterPipeline Extensibility

Calls external applications for custom item processing

Field CollapsingAdd Custom Processing

Content classificationGeo-taggingMachine translationSentiment Analysis

Extending Pipeline capabilitiesSafely add additional analysis and processing

Page 11: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Custom Entity Extraction

DEMO

Page 12: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Custom Entity Extraction SummaryCreated dictionary fileUsed PowerShell to copy dictionary file – Add-FASTSearchResourceActivated Entity Extractor in OptionalProcessing.xmlRestarted Document ProcessorsRe-crawled content

Page 13: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Pipeline Extensibility API

MotivationStraightforward way to add text analysis functionalityFlexibility and supportability

Example usesSentiment analysisTranslationAuto-Classification

MechanismJust before Mapper“any” binaryRuns in sandbox with timeout

ExtensibilityMapperStandard

processing

Page 14: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Pipeline Extensibility

DEMO

Page 15: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Pipeline Extensibility SummaryDetermine input and output crawled propertiesCreate executable that takes in 2 arguments.

Arg 1 - In file nameArg 2 – Out file nameDeploy to C:\FastSearch\bin

Modify pipelineextensibility.xml file – C:\FastSearch\etcSpecify executableSpecify input and output crawled properties

Create and map any crawled and managed propertiesRestart Document ProcessorsCrawl Full

Page 16: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCreating Search VerticalsCustomizing FederationCustomizing Search Web PartsSearch-Driven ApplicationsUsing FAST Query Language (FQL)

Page 17: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

“Out of the Box” Search ExperienceA powerful baseline for customization

Refinement summarizes and narrows resultsQuery federation brings together results(FAST) Previews provide rich interactionQuery Suggestions guide user keywords(FAST) User Context provides a personal experience

Page 18: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Search Vertical

DEMO

Page 19: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Search Vertical SummaryCreate Pages (search and results)Add TabsChange SearchBoxesRestarted Document ProcessorsRe-crawled content

Page 20: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCreating Search VerticalsCustomizing FederationCustomizing Search Web PartsSearch-Driven ApplicationsUsing FAST Query Language (FQL)

Page 21: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Federation Extensibility ExamplesConfigure

New OpenSearch locationsConnect to Web Parts

ExtendCan’t do it since all the OOB run-times are sealed

CreateNew Federation Runtime (ILocationRuntime, IRefinableRuntime)

Page 22: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Federation Object Model

public sealed class Query Manager

public class LocationList

public class Location

public Interface ILocationRuntimeInterface

0..*

0..*

1

Responsible for managing all the locations

Responsible for aggregating results from all locations in this LocationList

Represents a federated location in the object model

Repository specific code for executing query and getting results

Page 23: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Custom Federation Source

DEMO

Page 24: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Creating a SQL Server Search Location

Create SqlServerLocationRuntime classInherits from ILocationRuntime and IRefinableMakes SQL requestCreates core results xmlPopulates Refiners

Create OSDX fileSpecifies configuration settingsUse ConnectionUrlTemplate element for connection string

Page 25: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCustomizing FederationCustomizing Search Web PartsSearch-Driven ApplicationsUsing FAST Query Language (FQL)

Page 26: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Customizing Search Web Parts

Changing rendering behaviorOverride GetXPathNavigator,return an customized XPathNavigatorApplies to All Unsealed Search Web Parts

Changing data query or retrieval behaviorExtend the CoreResultsDataSource and CoreResultsDataSourceView or SearchResultsBaseDataSource and SearchResultsBaseDatasourceViewCan be used for creating a custom blending of data sources aka search locations

Page 27: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Visual Refinement Panel Web Part Summary

DEMO

Page 28: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Visual Refinement Panel Web Part Summary

Extend RefinementPanelWebPartOverride GetXPathNavigator

Call base.GetXPathNavigator to get refinement xmlCan read and manipulate xml before it is rendered

When using Charts use the Microsoft.Office.Server.WebControls.Chart class

Page 29: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Mixer Results Web Part

DEMO

Page 30: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Mixer Results Web Parts Summary

Extend DataSource and DatasourceView classesCreate child data sourcesOverride SetPropertiesOnQrda to set properties for the SharedQueryManagerConfigure locations for secondary data sources

Extend CoreResultsWebPartAdd code for adding additional sourcesOverride CreateDataSource and ConfigureDataSourceProperties,

create and configure data sourceOverride GetXPathNavigator, perform custom mixing here

Page 31: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCreating Search VerticalsCustomizing FederationCustomizing Search Web PartsSearch-Driven ApplicationsUsing FAST Query Language (FQL)

Page 32: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Search-Driven Application demo

Demo

Page 33: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

News and external opinion to monitor and send to

clients

Top information from Woodgrove…new market view report to send to clients

Drilldown to single view with all clues about a customer: portfolio, holdings, communications, annual and quarterly customer plans, etc…

Set of Customers to explore

Experts to help, with availability and rating

Immediate actions on selected items

View of information across different pivots, with drilldown

Finds customers beyond direct terms (REIT ~ real estate)

Start with a simple query, quickly find and explore

Page 34: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Content Crawling: bring in data from lots of placesOOB connectors to SharePoint (reports, account documents), exchange public folders, shared files; BDC with customization in SPD (no code) for customer portfolio/holdings

Content processing: creating metadataNames of holdings, offerings, key concepts, companies, peopleSynonyms for key concepts (real estate ~ REIT)

OOB web parts configured for style Federation, People Search, Search actions

Custom web parts for visual navigationRoll-up configured via results collapsingCustom relevance profileSharePoint workflows for act-on-selected-items

How would you create this?

Page 35: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218
Page 36: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Do More With SearchCreate new solutions powered by search

Solution examples:• Risk Management• IP Portfolio Mgmt• E-Discovery

• Build important applications quickly; innovate easily

• Combine Search with other SharePoint + Office capabilities

• Create New Relevance Profiles• Leverage Advanced Query and

Content Processing Capabilities

Page 37: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Topics

Architecture and Common CustomizationsCustomizing Content ProcessingCreating Search VerticalsCustomizing FederationCustomizing Search Web PartsSearch-Driven ApplicationsUsing FAST Query Language (FQL)

Page 38: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

1. Common search – Keyword Syntax2. Extended search– FAST Query Language

Query Language Alternatives

SharePoint Server 2010

FAST Search for SharePoint – FQL SharePoint Server Search

Keyword Syntax 1

2

Page 39: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

[property-spec:]:operator(operand [,operand]* [, parameter="value"]*)

FQL Operators

Query Operator: A keyword that specifies an operation to perform

Operator Type Keywords

Boolean AND, ANDNOT, OR, ANY, NOT, COUNT, RANK, XRANK

Proximity NEAR, ONEAR

Numeric FLOAT, INT, DATETIME

String WEIGHT, WILDCARD, MODE

Boundary Match STARTS-WITH, ENDS-WITH, EQUAL

Page 40: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Location Awareness Geo-search using sortformula

Formula sorting allows complete control of distance calculations (standard or ‘warped’ geometries)

Content Processing Search/Index Query

Sort results by distance from

end-user location

(50,100)

Index

External data

ABC

XYZ

123

Geo data

Geo specific processing

Geo

Pos_1 Pos_2

Lat Lon LonLat

Result

query=hotel&sortby=+[formula:sqrt(pow(50-latitude,2)+pow(100-longitude,2))]

Distance(from 50,100)

Page 41: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

XRANK demo

Demo

Page 42: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Query Language ExpressivenessSoft boost using the Xrank operator

Boost all documents that contain the name

Or, in the FAST Query Language:

Single (documents containing either Mary, Diane or both gets a boost of 5000):Xrank(string(”performance”), or(person:string(”diane tibbott”), person:string(”mary baker”)), boost=5000))

Accumulative (documents with both Mary and Diane gets a boost of 10000):Xrank(Xrank(string(”performance”), person:string(”diane tibbott”), boost=5000), person:string(”mary baker”), boost=5000)

Diane Tibbott

Boost all documents that contain the nameMaryBaker

Page 43: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Introducing FAST Search for SharePointA new choice for enterprise search that eliminates compromise

Productivity Search Experience

Search Driven Applications

A Single, Cost-effectiveInfrastructure

Page 44: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Customized productivity search and search driven applications

Social, Conversational++, Visual, Contextual

Connectivity+, Security, Relevance+, Performance, Administration+, Scale+

+

SharePoint Enterprise CAL + FAST Search for SharePoint server license

SharePoint Standard CAL + SharePoint server license

General Productivity searchLight customization

Social, Conversational

Connectivity, Security, Relevance, Performance, Administration, Scale

SharePoint 2010 search and FAST search comparison

Page 45: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

…2010 search is simple and powerful…FAST gives the most customization…you can win big with search customization

Working with Federation: http://technet.microsoft.com/en-us/library/bb905377.aspxBlog:http://blogs.msdn.com/knewton

Summary

Page 46: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Play the Microsoft Office & SharePoint Track Tag Contest

Download the Microsoft Tag ReaderOpen the internet browser on your mobile phone and visit http://gettag.mobi

Come to the Expo Hall – Yellow Section OSP Info Desk for Official Rules & Collect Additional Tags from all OSP Track Sessions, Speakers and Expo Hall!

Grand Prize (1)Xbox 360 Prize Package

and Microsoft® Office 2010

Daily Prizes40 copies of

Microsoft® Office 2010

Page 47: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

47

Q&A

[email protected]@microsoft.com http://blogs.msdn.com/knewton

Page 48: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Track ResourcesFor More Information – http://sharepoint.microsoft.com SharePoint Developer Center – http://msdn.microsoft.com/sharepointSharePoint Tech Center – http://technet.microsoft.com/sharepointOfficial SharePoint Team Blog – http://blogs.msdn.com/sharepoint

Page 49: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Related ContentBreakout Sessions – See Conference Guide for full list of OSP Track SessionsInteractive Sessions – OSP Track has 10 Interactive Sessions – OSP01-INT – OSP10-INTHands-on Labs – OSP01-HOL – OSP20-HOLProduct Demo Stations – Yellow Section, OSP

Office 2010, SharePoint 2010, Project Server 2010, Visio 2010 have kiosks and demos

Page 50: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

Page 51: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Complete an evaluation on CommNet and enter to win!

Page 52: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

http://northamerica.msteched.com/registration

You can also register at the

North America 2011 kiosk located at registrationJoin us in Atlanta next year

Page 53: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 54: Keenan Newton & Jeff Fried Senior Technical Product Managers Microsoft Corporation SESSION CODE: OSP218

JUNE 7-10, 2010 | NEW ORLEANS, LA