Post on 09-Jun-2020
About Mirjam
Microsoft Certified Master SharePoint 2007
MVP SharePoint Server
SharePoint Architect at Macaw
Co-organizer DIWUG and SDN
Blog: http://sharepointchick.com
Email: mirjam@macaw.nl
Twitter: @mirjamvanolst
Agenda
Improvements in SharePoint 2010 Search
Customise Search using the UI
Extend OOB Search Web Parts
Creating custom Search Solutions
Using PowerShell for SharePoint Search
SharePoint 2010 Search
Enterprise Scale-out
Full reporting on search
Public web parts
New connector framework
Full set of OOB connectors
Easy to add new data sources via BCS
PowerShell support
Customise Search using the UI
Edit the pages in the search center
Add your own scopes and tabs
Scopes can be based on
Web Address
(http://portal.sharepoint.com/sites/evolution)
Managed Property (author = mirjam)
Content Source
Customise Search using the UI
Customise results to highlight metadata
that matters
Change web part properties – no code
Modify XSLT
Modify config XML
– Refinement panel – control metadata available for
refinement
– Advanced search – control metadata available for
advanced search queries
All web parts are public But some web parts are more public than others
Web Part MOSS 2007 SP2010
AdvancedSearchBox Sealed Sealed
CoreResultsWebPart Unsealed Unsealed
FederatedResultsWebPart Unsealed Unsealed
HighConfidenceWebPart Sealed Sealed
PeopleCoreResultsWebPart Sealed Sealed
PeopleRefinementWebPart Unsealed
QuerySuggestionsWebPart Unsealed
RefinementWebPart Unsealed
SearchPagingWebPart Sealed Sealed
SearchStatsWebPart Sealed Sealed
SearchSummaryWebPart Sealed Sealed
TopFederatedResultsWebPart Unsealed Unsealed
SharedQueryManager class
All search web parts use SharedQueryManager
class
One shared instance of the
SharedQueryManager per search page
At least one search results web part needs to
be on the page
Use SharedQueryManager to access other
classes of the Federation Object Model
SharedQueryManager.GetInstance(this.Page).QueryManager
Connector architecture
Search Engine/Index
Search BCS Runtime
WCF Databases .NET
Assembly
Connector
Execution call routing through Business
Data Connectors using model file
Custom
Connector
Search
user
queries
Search results page
– results based on
metadata
Search page points to
Profile Page or custom
page to show search
result
Fetch data from
repository
Protocol Handlers
BCS Profile
Pages or
External Lists
Protocol Handler API
still supported, but
deprecated
IT108 Tuesday 11.45 – 12.45 by Neil Hodgkinson
Administration Object Model
Can be used for managing Search in your
farm
Represents Central Admin functions
Use it to get
SearchServiceApplicationProxy
Query Object Model
Communicates with the Search Service
Application for getting search results
Be aware, use the SharePoint Server
object model, not the SharePoint
Foundation one
Microsoft.Office.Server.Search.Query
NOT
Microsoft.SharePoint.Search.Query
KeywordQuery
Part of Microsoft.Office.Server.Search.Query
Use Case
End User
Basic filtering
Simple and easy to use
Avoids parsing and construction of SQL
Filter by any string or integer property
Keyword Syntax
Support for Boolean operators
(“Taxi” OR “Train”) AND (Author:”John Cleese”)
Prefix matching for keywords and properties
Micro* title:SharePoint*
Improved operator support
= > >= < <=
Scopes
scope:”business data”
FullTextSqlQuery
Part of Microsoft.Office.Server.Search.Query
Use Case
Advanced search solutions
Complex queries
Similar to SQL queries, but not the same
Limited set of query terms can be used
Some fields need double quotes around them
Difficult to debug and troubleshoot
SharePoint SQL Syntax
SELECT
FROM SCOPE()
WHERE
AND, OR, NOT
CONTAINS()
FREETEXT()
LIKE
DATEADD(DAY, #, GETGMTDATE())
ORDER BY ASC | DESC
SharePoint SQL Syntax
SELECT ‚DAV:Href‛, ‚Title‛,
‚Description‛
FROM SCOPE()
WHERE FREETEXT(‘gallery hinges’)
AND ‚SITE‛ = ‚http://support‛
AND ‚SCOPE‛ = ‚Products‛
AND NOT CONTAINS(‘brass’)
Process Results
'ResultsTableCollection': IDataReaders
One table for each requested result type
RelevantResults
SpecialTermResults
RefinementResults
VisualBestBetsResults
HighConfidenceResults
DefinitionResults
Tip: use LINQ to work with results
Manageability - PowerShell
118 SharePoint Search cmdlets!
Verbs, nouns, objects , pipes, and scripts
Get-SPEnterpriseSearchServiceApplication |
Set-SPEnterpriseSearchServiceApplication
Unlock advanced configurations
SSA VerboseQueryMonitoring
Import-SPEnterpriseSearchTopology
Export-SPEnterpriseSearchTopology
Summary
Highly customisable search UI
Public web parts and
SharedQueryManager
New Connector framework
FullTextSqlQuery for writing your own
complex search queries
LINQ for managing result sets
PowerShell for configuring and managing
search