Search Strategy for Enterprise SharePoint 2013 - Vancouver SharePoint Summit
SharePoint 2016 Search
-
Upload
mike-maadarani -
Category
Technology
-
view
1.400 -
download
3
Transcript of SharePoint 2016 Search
SharePoint Saturday Montréal#SPSMontreal
2 avril 2016
SharePoint Saturday Montréal
SharePoint 2016 SearchMike MaadaraniSharePoint Architect
SharePoint Saturday Montréal#SPSMontreal
Plat
ine
Or Arge
nt
Merci à nos commanditaires !
Bron
ze
SharePoint Saturday Montréal#SPSMontreal
Welcome & IntroductionsMike Maadarani, Ottawa • App Dev and Architecture for over 20 years (17 Years Microsoft, 3 Years with
the “Other Guys”)• Business focused on Enterprise Content Management & Publishing Sites• Technology focused on SharePoint, SQL Server and SharePoint Integration• Architect, trainer, and presenter
www.maadarani.com @mikemaadarani
SharePoint Saturday Montréal#SPSMontreal
Past and Future What’s new?
AgendaClosing and Q&ADemoSharePoint 2016
Search Overview
Cloud Search Service Application
History Recap
SharePoint Saturday Montréal#SPSMontreal
What is Office 365 hybrid search?
SharePoint Saturday Montréal#SPSMontreal
Search in 2010
Crawl Component
Query Component
SharePoint 2010 Search Service Application
Crawl Indexing Engine
Query Engine
Search Admin
Property Store (SQL)
Content
UserWFE
SharePoint Saturday Montréal#SPSMontreal
FAST Search for SharePoint 2010
FAST Content SSA
FAST Query SSA
FAST back-end components(managed separately)
Extensibility:• Sandbox• Entity
Extraction
Crawl Indexing Engine
Query Engine
Content Pipeline
Analysis Engine
Query Pipeline
Search AdminContent
UserWFE
SharePoint Saturday Montréal#SPSMontreal
SharePoint 2013 Search Architecture
SearchAdmin
Content UserCrawlContent
Processing IndexQuery
Processing WFE
API
AnalyticsProcessing
Crawl
Search Admin
Link
Analytics Reporting
FAST Search Index
SharePointSP AppsDevicesNon-SP UX
HTTPFile sharesSharePointUser profilesLotus Notes DocumentumExchange foldersCustom - BCS
Public APISearch topology components
Content Query
SharePoint Saturday Montréal#SPSMontreal
2016 Search Hybrid Search is here; and easier to
implement! Scale up to 500 million items 20 million items per index (x25 index
partitions) Increaser performance optimization to the
query processing New failure logic for queries between index
replicas10
SharePoint Saturday Montréal#SPSMontreal
What hybrid search? Unified Search Result Set from both On-Perm and
SharePoint Online Delve Integration Content Sources:
On-Prem, SPO, OneDrive, Shared Drives
SharePoint Saturday Montréal#SPSMontreal
Hybrid Search in 2016
SharePoint Saturday Montréal#SPSMontreal
Hybrid Search in 2016
SharePoint Saturday Montréal#SPSMontreal
What is Federated Hybrid Search
SharePoint Saturday Montréal#SPSMontreal
1. SP2013 with August 2015 CU or SP 2016 Beta 12. O365 Subscription3. Azure Subscription4. Synchronize users and groups from on-premises
to Office365 Azure Active Directory (DirSync, AADSync, or AADConnect)
5. Create cloud Search service application 6. Install onboarding pre-requisites 7. Execute onboarding script
Mandatory Requirements
15
SharePoint Saturday Montréal#SPSMontreal
AD
AAD
Sync
SP 2013 SP 2010 SP 2007 Fileshares BCS
Cloud SSA
Content processing SPO
Search IndexItem queue
Parsed content
ACL mapping
12
34
56 7
Logical architecture: crawling
Corporate network
Office 365
Crawling and parsing
SharePoint Saturday Montréal#SPSMontreal
AD Sync OptionsTool TechNet Links DirSync https
://msdn.microsoft.com/en-us/library/azure/hh967642.aspx https://msdn.microsoft.com/en-us/library/azure/jj151831.aspx
AADSync https://msdn.microsoft.com/en-us/library/azure/dn790204.aspx
AADConnect https://azure.microsoft.com/en-us/documentation/articles/active-directory-aadconnect/
SharePoint Saturday Montréal#SPSMontreal
Azure AD Connect
AD AAD
AccountName
MCM\mike
SID S-1-5-21-1212121212-1212121212-1212
AccountName
msOnline-OnPremiseSecurityIdentifier
S-1-5-21-1212121212-1212121212-1212
PUID PUID-XXXX-XXXXXXXXXX
SharePoint Saturday Montréal#SPSMontreal
• Need Azure Subscription or trial subscription or Office 365 paid license
• Verified domain; xxx.onmicrosoft.com is not enough
• On-premise:• AD Server must be 2003 or later• If password writeback, then min 2008 with latest SP and KB2386717;
otherwise go 2008 R2+• Azure AD Connect can be installed on AD or any server part of the
domain• If you plan password synchronization then server must be 2008 R2
SP1 or later• .NET 4.5.1 or later and PS 3.0• If ADFS, then SSL is needed x.509 (self-signed is OK in test lab)
AAD Requirements
SharePoint Saturday Montréal#SPSMontreal
AAD Install
SharePoint Saturday Montréal#SPSMontreal
• Create your on-premise VMs• Install and Configure SharePoint as usual• Create your web application/Site Collection• Add Content
SharePoint 2016
SharePoint Saturday Montréal#SPSMontreal
• PowerShell or Central Admin• If (PowerShell) {
CloudIndex $trueIsHybrid = 1
}New-SPEnterpriseSearchServiceApplication -Name $SearchServiceAppName -ApplicationPool $appPool -DatabaseServer $DatabaseServerName -CloudIndex $true
Create a Cloud SSA
SharePoint Saturday Montréal#SPSMontreal
Cloud SSA PS$SSADB = "SharePoint_Demo_Search"$SSAName = "Search Service Application SPS Baltimore"$SVCAcct = "mcm\sp_search"$SSI = get-spenterprisesearchserviceinstance -local
#1. Start the search services for SSIStart-SPEnterpriseSearchServiceInstance -Identity $SSI
#2. Create the Application Pool$AppPool = new-SPServiceApplicationPool -name $SSAName"-AppPool" -account $SVCAcct
#3. Create the search application and set it to a variable$SearchApp = New-SPEnterpriseSearchServiceApplication -Name $SSAName -applicationpool $AppPool -databaseserver SQL2012 -databasename $SSADB –CloudIndex $true#4. Create search service application proxy$SSAProxy = new-SPEnterpriseSearchServiceApplicationProxy -name $SSAName" Application Proxy" -Uri $SearchApp.Uri.AbsoluteURI
#5. Provision Search Admin ComponentSet-SPEnterpriseSearchAdministrationComponent -searchapplication $SearchApp -searchserviceinstance $SSI
#6. Create the topology$Topology = New-SPEnterpriseSearchTopology -SearchApplication $SearchApp
#7. Assign server(s) to the topology$hostApp1 = Get-SPEnterpriseSearchServiceInstance -Identity "SPWFE“
$Searchapp.SetProperty(“IsHybrid”,1)New-SPEnterpriseSearchAdminComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1New-SPEnterpriseSearchCrawlComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1New-SPEnterpriseSearchIndexComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1 –IndexPartition 0
#8. Create the topology$Topology | Set-SPEnterpriseSearchTopology
SharePoint Saturday Montréal#SPSMontreal
Cloud SSA PS
SharePoint Saturday Montréal#SPSMontreal
Validate Cloud SSA TopologyAdd-PSSnapin Microsoft.SharePoint.Powershell $ssa = Get-SPEnterpriseSearchServiceApplication Get-SPEnterpriseSearchTopology -Active -SearchApplication $ssa Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text |ft Name, state,Partition,Host -AutoSize$ssa.CloudIndex
SharePoint Saturday Montréal#SPSMontreal
Validate Cloud SSA Topology
SharePoint Saturday Montréal#SPSMontreal
• Only 1 Cloud SSA Per Farm• Multiple classic SSA can be created• Topology Scaling is still the same
Considerations
SharePoint Saturday Montréal#SPSMontreal
• Microsoft Online Services Sign-In Assistanthttps://www.microsoft.com/en-ca/download/details.aspx?id=28177
***Need to Reboot before Proceeding to the next install***• Microsoft Azure AD PowerShell
http://go.microsoft.com/fwlink/p/?linkid=236297
Post Cloud SSA Installs
SharePoint Saturday Montréal#SPSMontreal
• Microsoft Online Services Sign-In Assistant(get-service msoidsvc).Status
• Microsoft Azure AD PowerShellimport-module msonline –verboseimport-module msonlineextended -verbose
Validate your installs
SharePoint Saturday Montréal#SPSMontreal
Param( [Parameter(Mandatory=$true, HelpMessage="SharePoint Online portal URL, for example 'https://contoso.sharepoint.com'.")] [ValidateNotNullOrEmpty()] [string] $PortalUrl,
[Parameter(Mandatory=$false, HelpMessage="Name or id (Guid) of the cloud Search service application, created with the CreateCloudSSA script.")] [ValidateNotNullOrEmpty()] [string] $CloudSsaId, [Parameter(Mandatory=$false, HelpMessage="Logon credential for tenant admin. Will be prompted if not specified.")] [PSCredential] $Credential)
if ($ACS_APPPRINCIPALID -eq $null) { New-Variable -Option Constant -Name ACS_APPPRINCIPALID -Value '00000001-0000-0000-c000-000000000000' New-Variable -Option Constant -Name ACS_HOST -Value "accounts.accesscontrol.windows.net" New-Variable -Option Constant -Name PROVISIONINGAPI_WEBSERVICEURL -Value "https://provisioningapi.microsoftonline.com/provisioningwebservice.svc" New-Variable -Option Constant -Name SCS_AUTHORITIES -Value @( "*.search.msit.us.trafficmanager.net", "*.search.production.us.trafficmanager.net", "*.search.production.emea.trafficmanager.net", "*.search.production.apac.trafficmanager.net" )}
New-Variable -Option Constant -Name SCS_APPPRINCIPALID -Value '8f0dc9ad-0d19-4fec-a421-6d0279080014'New-Variable -Option Constant -Name SCS_APPPRINCIPALDISPLAYNAME -Value 'Search Content Service'New-Variable -Option Constant -Name SP_APPPRINCIPALID -Value '00000003-0000-0ff1-ce00-000000000000'New-Variable -Option Constant -Name SPO_MANAGEMENT_APPPROXY_NAME -Value 'SPO App Management Proxy'New-Variable -Option Constant -Name ACS_APPPROXY_NAME -Value 'ACS Proxy'New-Variable -Option Constant -Name ACS_STS_NAME -Value 'ACS-STS'New-Variable -Option Constant -Name AAD_METADATAEP_FSTRING -Value 'https://{0}/{1}/metadata/json/1'
$SP_VERSION = "15"$regKey = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Office Server\15.0\Search" -ErrorAction SilentlyContinueif ($regKey -eq $null) { $regKey = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Office Server\16.0\Search" -ErrorAction SilentlyContinue if ($regKey -eq $null) { throw "Unable to detect SharePoint installation."
On-Boarding Process
SharePoint Saturday Montréal#SPSMontreal
Script Provided By the Product Group4 stages:1. Get-HybridSSA2. Prepare-Environment3. Connect-SPFarmtoAAD4. Add-ServicePrincipal
On-Boarding Process
SharePoint Saturday Montréal#SPSMontreal
1. Get-HybridSSA
This stage validates that the cloud SSA name supplied as a parameter to the script execution is valid. If multiple SSAs are found and no parameter is supplied, then it attempts to validate an SSA that has the IsHybrid property set to 1.
On-Boarding Process
SharePoint Saturday Montréal#SPSMontreal
1. Prepare-Environment
This stage checks that the prerequisites for deployment are installed. It checks for MicrosoftOnline Single Sign-on Assistant and for Windows Azure PowerShell. If either of these tools are missing the script will exit with a prompt to install them.
On-Boarding Process
SharePoint Saturday Montréal#SPSMontreal
1. Connect-SPFarmtoAAD
This completes the OAuth trust configuration with Azure Access Control services (ACS) and deploys the ACS Proxy. Additionally, it deploys a new SPO connection proxy to enable the farm to communicate with the external endpoint of the cloud search service
On-Boarding Process
SharePoint Saturday Montréal#SPSMontreal
1. Add-ServicePrincipal
The penultimate stage adds the O365 Service Principal ID to the local farm and sets the correct Service Principal Name in Azure AD for the on-premises url. This ensures outbound query federation can succeed between the O365 tenant and the on-premises farm.
On-Boarding Process
SharePoint Saturday Montréal#SPSMontreal
Configure Content Source
SharePoint Saturday Montréal#SPSMontreal
Example search verticals (1)
SharePoint Online
Everything Support Search
Custom result source using Local SharePoint results plus a filter which excludes results from on-premises
TIP: Can be used during validation of hybrid search in the production tenant.
Result source query:{searchTerms} NOT(IsExternalContent:1)
SharePoint Saturday Montréal#SPSMontreal
Example search verticals (2)
This is the default result source using Local SharePoint results but it has been renamed to «Everything» in the Search Navigation configuration.
SharePoint Online EverythingSupport Search
SharePoint Saturday Montréal#SPSMontreal
Example search verticals (3)
The Support Search vertical only searches sites that are relevant to the Support team.
It uses Local SharePoint results plus a filter on which sites to include in the search results
Result source query:{searchTerms} (Path:»http://sp2010» OR Path:»file://fileshare» ORPath:»http://demohybrid.../../supportforum»)
SharePoint Online Everything Support Search
SharePoint Saturday Montréal#SPSMontreal
Ce soir à 17h636 Cathcart