SlideShare a Scribd company logo
Search Topology and Optimization
Mike Maadarani
Canada, -UTC 5:00 EST
April 16th /17th, 2014
SharePoint Architect
Navigatus
Ottawa
Canada
Contact
@mikemaadarani
mike@maadarani.com
www.maadarani.com
Session
Time
(GMT)
Time
(EST) Title Level Speaker Twitter Handle
#SP24S090 5:00 1:00
Using the Content Enrichment Web Service with
SharePoint Server 2013 Search
Technical -
Advanced
Sezai Komur -
NEC Australia
@sezai
#SP24S021 6:00 2:00
2013 Search, Display Templates, Query Rules, Result
Types
Technical -
Beginner
Omer Zubair -
CSC
@Omer_Zubair
#SP24S047 8:00 4:00
Real-life experience building search-driven
applications for product-centric sites
Technical -
Advanced
Marius Constantinescu -
blue-infinity SA
@c_marius
#SP24S032 10:00 6:00
Custom Indexing Connectors - How to integrate
external system into your SharePoint Enterprise
Search
Technical -
Advanced
Heinrich Ulbricht -
Communardo Software GmbH
@h_ulbricht
#SP24S083 11:00 7:00
Search First Migration with SharePoint 2013 – Benefits
/ Disadvantages
Technical -
Intermediate
Max Melcher -
Alegri International Service
GmbH
@maxmelcher
#SP24S034 14:00 10:00
The Search Immaturity Cycle, and How to Create a
Search Strategy
Business -
Intermediate
Jeff Fried -
BA Insight
@jefffried
#SP24S009 16:00 12:00
10 Things to Know about Search in SP2013 and Office
365
Business -
Beginner
Agnes Molnar -
Search Explained
@molnaragnes
#SP24S019 18:00 14:00 Search Topology and Optimization
Technical -
Advanced
Mike Maadarani -
MCM Consulting
@mikemaadarani
#SP24S050 22:00 18:00
Search Driven Application Development in SharePoint
2013
Technical -
Intermediate
Matt Youngstrom -
Magenic
@spguru
Configuring SSA
and PS
Topology
ScenariosAgenda
Relevancy, Query Builder, &
Optimization
SharePoint 2013
Search Overview
Architecture and Resource Utilization
Crawl Component
Query Component
SharePoint 2010 Search Service Application
Query
Engine
Property
Store
(SQL)
FAST
Content
SSA
FAST
Query
SSA
FAST back-end components
(managed separately)
Extensibility:
• Sandbox
• Entity
Extraction
SharePoint 2013 Search Service Application
Index
Component
Query
Engine
Content
Pipeline
Content
Processing
Component
Crawl
Component
Query
Processing
Component
Analytics
Processing
Component
Query
Pipeline
Search
Admin
Admin
Component
Entire index on
local disk
Property
Store
(SQL)
Analysis
Engine
Crawl Indexing
Engine
Link/query analysis &
recommendations
Separate crawl
and indexing
Extensibility:
• Web
callout
• Entity
Extraction
SharePoint
SP Apps
Devices
Non-SP UX
HTTP
File shares
SharePoint
User profiles
Lotus Notes
Documentum
Exchange folders
Custom - BCS
Public API
Search topology components
I just uploaded a document.
Make it searchable, quick!
FAST
EASY
EASY
Search Driven
Applications
noderunner.exe noderunner.exe noderunner.exe noderunner.exe
Windows services
SharePoint Search Host Controller service
Runtime/lifecycle control of search
components (except crawler)
 hostcontrollerservice.exe
SharePoint Server Search service
Crawl Component
mssearch.exe
mssdmn.exe
Processes
Noderunner.exe
Runtime environment for search
components (except crawler)
msseearch.exe
mssdmn.exe
Crawl
Componentnoderunner.exe
Search Runtime Environment
hostcontrollerservice.exe
Host Controller
SharePointAppServer
Admin entities
Search Service Instance: Provisioning of the
search service on each box
Search Service Application: SharePoint
Configuration entity
Still there, but only
Crawl Component
Admin
Component
Query
Processing
Component
Content
Processing
Component
Index
Component
Analytics
Processing
Component
Search Topology and Optimization
CPU load
Driving factors
QPS
Query transformations
Network load
Driving factors
Number of index partitions
Size of queries and results
Example:
20 index partitions @ 20 qps => 200/100 Mbit/s
in/outbound
Item
count
DPS QPS
Load impact (relative)
CPU Network Disk
CPU load
Driving factors
QPS and item count
Guidelines per index component @ 2 GHz CPU
1M items: 5 QPS per CPU core
5M items: 2 QPS per CPU core
10M items: 1 QPS per CPU core
Disk load
Driving factors
QPS and item count
New content invalidates caches
Disk size: 500GB @ 10M items per index component
Item
count
DPS QPS
Load impact (relative)
CPU Network Disk
CPU load
Driving factors
Documents per second
Link discovery
Crawl management
Network load
Driving factors
Downloading items from content sources
Passing items on to CPC
Disk load
All documents are temporarily stored in data folder
Item
count
DPS QPS
Load impact (relative)
CPU Network Disk
CPU load
Driving factors
Documents per second
Document size and complexity
Feature extraction
Estimate: 5-10 DPS per CPU core
Network load
Driving factors
Documents per second
Document size
Item
count
DPS QPS
Load impact (relative)
CPU Network Disk
CPU load
Driving factors
Number of items
Site activity
Disk load
Local disk used for temporary storage
Bulk load, primacy concern is load isolation
Network load
Same as for CPU load
PLUS: Network traffic increases when distributing APC across multiple
machines
Item
count
DPS QPS
Load impact (relative)
CPU Network Disk
Low CPU and network load
Load increase with more
components in the search
topology
Item
count
DPS QPS
Load impact (relative)
CPU Network Disk
$SSADB = "SharePoint_Demo_Search"
$SSAName = "Search ServiceApplication SP24"
$SVCAcct = "mcmsp_search"
$SSI = get-spenterprisesearchserviceinstance -local
#1. Start the search services for SSI
Start-SPEnterpriseSearchServiceInstance -Identity $SSI
#2. Create theApplication 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
#4. Create search service application proxy
$SSAProxy = new-SPEnterpriseSearchServiceApplicationProxy -
name $SSAName"Application Proxy" -Uri
$SearchApp.Uri.AbsoluteURI
#5. Provision SearchAdmin Component
Set-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
"SP2013"
New-SPEnterpriseSearchAdminComponent -SearchTopology
$Topology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchCrawlComponent -SearchTopology
$Topology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchContentProcessingComponent -
SearchTopology $Topology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchAnalyticsProcessingComponent -
SearchTopology $Topology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchQueryProcessingComponent -
SearchTopology $Topology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchIndexComponent -SearchTopology
$Topology -SearchServiceInstance $hostApp1 –IndexPartition 0
#8. Create the topology
$Topology | Set-SPEnterpriseSearchTopology
Search Topology and Optimization
Host
VM
Index QPC
VM
Admin
Crawl
CPC
APC
Host
VM
Index QPC
VM
Admin
Crawl
CPC
APC
Other
SharePoint
applications
Web front
end
Admin
Crawl
CPC
APC
Index
QPC
Adm
Adm
#2. Extend the Search Topology:
$hostApp1 = Get-SPEnterpriseSearchServiceInstance -Identity
"SP2013"
$hostApp2 = Get-SPEnterpriseSearchServiceInstance -Identity
"SPSearch"
Start-SPEnterpriseSearchServiceInstance -Identity $hostApp1
Start-SPEnterpriseSearchServiceInstance -Identity $hostApp2
#3. Keep running this command until the Status is Online:
Get-SPEnterpriseSearchServiceInstance -Identity $hostApp1
Get-SPEnterpriseSearchServiceInstance -Identity $hostApp2
#4. Once the status is online, you can proceed with the following
commands:
$ssa = Get-SPEnterpriseSearchServiceApplication
$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa
–Active
$newTopology = New-SPEnterpriseSearchTopology -
SearchApplication $ssa
New-SPEnterpriseSearchAdminComponent -SearchTopology
$newTopology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchCrawlComponent -SearchTopology
$newTopology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchContentProcessingComponent -
SearchTopology $newTopology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchAnalyticsProcessingComponent -
SearchTopology $newTopology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchQueryProcessingComponent -
SearchTopology $newTopology -SearchServiceInstance $hostApp1
New-SPEnterpriseSearchIndexComponent -SearchTopology
$newTopology -SearchServiceInstance $hostApp1 –IndexPartition 0
New-SPEnterpriseSearchAdminComponent -SearchTopology
$newTopology -SearchServiceInstance $hostApp2
New-SPEnterpriseSearchCrawlComponent -SearchTopology
$newTopology -SearchServiceInstance $hostApp2
New-SPEnterpriseSearchContentProcessingComponent -
SearchTopology $newTopology -SearchServiceInstance $hostApp2
New-SPEnterpriseSearchAnalyticsProcessingComponent -
SearchTopology $newTopology -SearchServiceInstance $hostApp2
New-SPEnterpriseSearchQueryProcessingComponent -
SearchTopology $newTopology -SearchServiceInstance $hostApp2
New-SPEnterpriseSearchIndexComponent -SearchTopology
$newTopology -SearchServiceInstance $hostApp2 –IndexPartition 1
#5.Activate the topology:
Set-SPEnterpriseSearchTopology -Identity $newTopology
Search Topology and Optimization
Search Topology and Optimization
Challenges: Intent
Where is my talk
Project Plan?
Are Documents held at the
same place?
I wonder if there are
references from previous
projects?
Different people have different
intents
Query Rules help you handle intents
There is rarely a single right answer
Infrastructure Project
Conceptual Relevance Flow
For all queries:
Authorities: Level 1: http://employment
Ranking model: {incorporate user ratings}
Query:
HR Employment
quarterly
report
Search
Web Part
Query Processing Engine
Document
Collection
Thesaurus: HR  Human Resources
Best bets: HR Employment /HR/employment
(WORDS HR, Human Resources) AND
(WORDS employees, employed) AND
(WORDS quarterly, quarterlies) AND
(WORDS report, reports, reported)
Mixed Results for:
• HR Employment best bet
• HR Employment quarterly report
• HR Employment
ContentType=reports
Dynamic Reordering Rules:
Quarterly Report 
{prefer docs from http://reports}
Query Rule:
{Terms} Quarterly Report 
{Terms} ContentType=“reports”
Sites that are important
Sites with low intrinsic relevance
Takes ~24hrs to
propagate
Search Topology and Optimization
Setting an authority affects all sites connected through hyperlinks
Sites are weighted
by distance to
the authority
Tune Search Results
Created at the SSA, Tenant, Site Collection or Site
SSA
Site Collection
Site
Condition
When Do I apply the rule?
Action
What to do when the rule is matched?
Publishing
When should the rule be active?
 Exact match, beginning or end
 Ad-hoc or term store dictionary
 Match a regex (advanced)
 Is this query more likely aimed at the
following source…?
 Do people mostly click on result of the
following type…?
 Show a promoted result
 Show a block of results
 Replace the core results with a
different query
Dynamically Ranking Change
Part of the query
Results Ranking
Search Topology and Optimization
High Availability and Performance
Better Search Quality
Better management
Friendly results and tools
Session Objective and
Takeaways
Search Topology and Optimization
Session
Time
(GMT)
Time
(EST) Title Level Speaker Twitter Handle
#SP24S090 5:00 1:00
Using the Content Enrichment Web Service with
SharePoint Server 2013 Search
Technical -
Advanced
Sezai Komur -
NEC Australia
@sezai
#SP24S021 6:00 2:00
2013 Search, Display Templates, Query Rules, Result
Types
Technical -
Beginner
Omer Zubair -
CSC
@Omer_Zubair
#SP24S047 8:00 4:00
Real-life experience building search-driven
applications for product-centric sites
Technical -
Advanced
Marius Constantinescu -
blue-infinity SA
@c_marius
#SP24S032 10:00 6:00
Custom Indexing Connectors - How to integrate
external system into your SharePoint Enterprise
Search
Technical -
Advanced
Heinrich Ulbricht -
Communardo Software GmbH
@h_ulbricht
#SP24S083 11:00 7:00
Search First Migration with SharePoint 2013 – Benefits
/ Disadvantages
Technical -
Intermediate
Max Melcher -
Alegri International Service
GmbH
@maxmelcher
#SP24S034 14:00 10:00
The Search Immaturity Cycle, and How to Create a
Search Strategy
Business -
Intermediate
Jeff Fried -
BA Insight
@jefffried
#SP24S009 16:00 12:00
10 Things to Know about Search in SP2013 and Office
365
Business -
Beginner
Agnes Molnar -
Search Explained
@molnaragnes
#SP24S019 18:00 14:00 Search Topology and Optimization
Technical -
Advanced
Mike Maadarani -
MCM Consulting
@mikemaadarani
#SP24S050 22:00 18:00
Search Driven Application Development in SharePoint
2013
Technical -
Intermediate
Matt Youngstrom -
Magenic
@spguru
Search Topology and Optimization

More Related Content

PPTX
Splunk Ninjas: New Features, Pivot, and Search Dojo
PPTX
Apache Phoenix: Transforming HBase into a SQL Database
PPTX
Real-Time Status Commands
PDF
The Humble & Mighty SharePoint URL Query String
PDF
Splunk Ninjas: New Features, Pivot and Search Dojo
PPTX
PDF
Benchmarking at Parse
PPTX
Rapid Development of Big Data applications using Spring for Apache Hadoop
Splunk Ninjas: New Features, Pivot, and Search Dojo
Apache Phoenix: Transforming HBase into a SQL Database
Real-Time Status Commands
The Humble & Mighty SharePoint URL Query String
Splunk Ninjas: New Features, Pivot and Search Dojo
Benchmarking at Parse
Rapid Development of Big Data applications using Spring for Apache Hadoop

Viewers also liked (6)

PPT
Creating Web Parts With Connections Scott Ruble
PPTX
SPS Chevy Chase Tips on migrating to Office 365
PPTX
SPS Toronto 2015
PPTX
SPS Reston SharePoint Alwyays On
PPTX
SharePoint 2016 Search
PPTX
What's new in sharepoint 2016
Creating Web Parts With Connections Scott Ruble
SPS Chevy Chase Tips on migrating to Office 365
SPS Toronto 2015
SPS Reston SharePoint Alwyays On
SharePoint 2016 Search
What's new in sharepoint 2016
Ad

Similar to Search Topology and Optimization (20)

PPTX
SharePoint 2013 Search Topology and Optimization
PPTX
SharePoint Search Topology and Optimization
PPTX
Understanding and Configuring an Effective SharePoint 2013 Search
PPTX
SharePoint 2013 Search Architecture with Russ Houberg
PPTX
SharePoint Search - SPSNYC 2014
PPTX
B365 saturday practical guide to building a scalable search architecture in s...
PDF
Planning SharePoint 2013 Search for IT PROs
PPTX
#SPSPhilly search topology & optimization
PPTX
Enterprise Search in SharePoint 2010
PPTX
Share point 2013 enterprise search (public)
PPTX
SharePoint 2013 Search Operations
PPTX
Lets build a_search-based_application_in_share_point_2013_-_spsdc[2]
PPTX
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
PDF
Sökmotorn i SharePoint 2013 - Comperio
PPTX
Find Information Faster Using SharePoint 2010 Search
PPTX
Unleashing FAST Search
PDF
SPUnite17 IT Pros Guide to Managing SharePoint Search
PPTX
Let’s build a_search-based_application_in_share_point_2013_-_baltimorespug
PPTX
SharePoint NYC search presentation
PPTX
Improve Performance in Fast Search for SharePoint - Comperio
SharePoint 2013 Search Topology and Optimization
SharePoint Search Topology and Optimization
Understanding and Configuring an Effective SharePoint 2013 Search
SharePoint 2013 Search Architecture with Russ Houberg
SharePoint Search - SPSNYC 2014
B365 saturday practical guide to building a scalable search architecture in s...
Planning SharePoint 2013 Search for IT PROs
#SPSPhilly search topology & optimization
Enterprise Search in SharePoint 2010
Share point 2013 enterprise search (public)
SharePoint 2013 Search Operations
Lets build a_search-based_application_in_share_point_2013_-_spsdc[2]
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
Sökmotorn i SharePoint 2013 - Comperio
Find Information Faster Using SharePoint 2010 Search
Unleashing FAST Search
SPUnite17 IT Pros Guide to Managing SharePoint Search
Let’s build a_search-based_application_in_share_point_2013_-_baltimorespug
SharePoint NYC search presentation
Improve Performance in Fast Search for SharePoint - Comperio
Ad

More from Mike Maadarani (8)

PPTX
Discover private channels in microsoft teams mike maadarani
PPTX
Increase your Collaboration with Azure Automation
PPTX
Increase your collaboration with Azure Automation
PPTX
Tips in migrating to SharePoint 2016 or O365, to avoid a migration headache
PPTX
aOS Canadian Tour Share point migration tips
PPTX
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
PPTX
SharePoint Tips and Tricks to avoid migration headaches
PPTX
SharePoint Always-On Deployment
Discover private channels in microsoft teams mike maadarani
Increase your Collaboration with Azure Automation
Increase your collaboration with Azure Automation
Tips in migrating to SharePoint 2016 or O365, to avoid a migration headache
aOS Canadian Tour Share point migration tips
Tricks and Tips in Migrating to Office 365 and On-Premises to acoid migration...
SharePoint Tips and Tricks to avoid migration headaches
SharePoint Always-On Deployment

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
A Presentation on Artificial Intelligence
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Reach Out and Touch Someone: Haptics and Empathic Computing
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectral efficient network and resource selection model in 5G networks
A Presentation on Artificial Intelligence
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Search Topology and Optimization

  • 1. Search Topology and Optimization Mike Maadarani Canada, -UTC 5:00 EST April 16th /17th, 2014
  • 3. Session Time (GMT) Time (EST) Title Level Speaker Twitter Handle #SP24S090 5:00 1:00 Using the Content Enrichment Web Service with SharePoint Server 2013 Search Technical - Advanced Sezai Komur - NEC Australia @sezai #SP24S021 6:00 2:00 2013 Search, Display Templates, Query Rules, Result Types Technical - Beginner Omer Zubair - CSC @Omer_Zubair #SP24S047 8:00 4:00 Real-life experience building search-driven applications for product-centric sites Technical - Advanced Marius Constantinescu - blue-infinity SA @c_marius #SP24S032 10:00 6:00 Custom Indexing Connectors - How to integrate external system into your SharePoint Enterprise Search Technical - Advanced Heinrich Ulbricht - Communardo Software GmbH @h_ulbricht #SP24S083 11:00 7:00 Search First Migration with SharePoint 2013 – Benefits / Disadvantages Technical - Intermediate Max Melcher - Alegri International Service GmbH @maxmelcher #SP24S034 14:00 10:00 The Search Immaturity Cycle, and How to Create a Search Strategy Business - Intermediate Jeff Fried - BA Insight @jefffried #SP24S009 16:00 12:00 10 Things to Know about Search in SP2013 and Office 365 Business - Beginner Agnes Molnar - Search Explained @molnaragnes #SP24S019 18:00 14:00 Search Topology and Optimization Technical - Advanced Mike Maadarani - MCM Consulting @mikemaadarani #SP24S050 22:00 18:00 Search Driven Application Development in SharePoint 2013 Technical - Intermediate Matt Youngstrom - Magenic @spguru
  • 4. Configuring SSA and PS Topology ScenariosAgenda Relevancy, Query Builder, & Optimization SharePoint 2013 Search Overview Architecture and Resource Utilization
  • 5. Crawl Component Query Component SharePoint 2010 Search Service Application Query Engine Property Store (SQL)
  • 6. FAST Content SSA FAST Query SSA FAST back-end components (managed separately) Extensibility: • Sandbox • Entity Extraction
  • 7. SharePoint 2013 Search Service Application Index Component Query Engine Content Pipeline Content Processing Component Crawl Component Query Processing Component Analytics Processing Component Query Pipeline Search Admin Admin Component Entire index on local disk Property Store (SQL) Analysis Engine Crawl Indexing Engine Link/query analysis & recommendations Separate crawl and indexing Extensibility: • Web callout • Entity Extraction
  • 8. SharePoint SP Apps Devices Non-SP UX HTTP File shares SharePoint User profiles Lotus Notes Documentum Exchange folders Custom - BCS Public API Search topology components
  • 9. I just uploaded a document. Make it searchable, quick! FAST
  • 10. EASY
  • 11. EASY
  • 13. noderunner.exe noderunner.exe noderunner.exe noderunner.exe Windows services SharePoint Search Host Controller service Runtime/lifecycle control of search components (except crawler)  hostcontrollerservice.exe SharePoint Server Search service Crawl Component mssearch.exe mssdmn.exe Processes Noderunner.exe Runtime environment for search components (except crawler) msseearch.exe mssdmn.exe Crawl Componentnoderunner.exe Search Runtime Environment hostcontrollerservice.exe Host Controller SharePointAppServer Admin entities Search Service Instance: Provisioning of the search service on each box Search Service Application: SharePoint Configuration entity Still there, but only Crawl Component Admin Component Query Processing Component Content Processing Component Index Component Analytics Processing Component
  • 15. CPU load Driving factors QPS Query transformations Network load Driving factors Number of index partitions Size of queries and results Example: 20 index partitions @ 20 qps => 200/100 Mbit/s in/outbound Item count DPS QPS Load impact (relative) CPU Network Disk
  • 16. CPU load Driving factors QPS and item count Guidelines per index component @ 2 GHz CPU 1M items: 5 QPS per CPU core 5M items: 2 QPS per CPU core 10M items: 1 QPS per CPU core Disk load Driving factors QPS and item count New content invalidates caches Disk size: 500GB @ 10M items per index component Item count DPS QPS Load impact (relative) CPU Network Disk
  • 17. CPU load Driving factors Documents per second Link discovery Crawl management Network load Driving factors Downloading items from content sources Passing items on to CPC Disk load All documents are temporarily stored in data folder Item count DPS QPS Load impact (relative) CPU Network Disk
  • 18. CPU load Driving factors Documents per second Document size and complexity Feature extraction Estimate: 5-10 DPS per CPU core Network load Driving factors Documents per second Document size Item count DPS QPS Load impact (relative) CPU Network Disk
  • 19. CPU load Driving factors Number of items Site activity Disk load Local disk used for temporary storage Bulk load, primacy concern is load isolation Network load Same as for CPU load PLUS: Network traffic increases when distributing APC across multiple machines Item count DPS QPS Load impact (relative) CPU Network Disk
  • 20. Low CPU and network load Load increase with more components in the search topology Item count DPS QPS Load impact (relative) CPU Network Disk
  • 21. $SSADB = "SharePoint_Demo_Search" $SSAName = "Search ServiceApplication SP24" $SVCAcct = "mcmsp_search" $SSI = get-spenterprisesearchserviceinstance -local #1. Start the search services for SSI Start-SPEnterpriseSearchServiceInstance -Identity $SSI #2. Create theApplication 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 #4. Create search service application proxy $SSAProxy = new-SPEnterpriseSearchServiceApplicationProxy - name $SSAName"Application Proxy" -Uri $SearchApp.Uri.AbsoluteURI #5. Provision SearchAdmin Component Set-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 "SP2013" New-SPEnterpriseSearchAdminComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchCrawlComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchContentProcessingComponent - SearchTopology $Topology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchAnalyticsProcessingComponent - SearchTopology $Topology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchQueryProcessingComponent - SearchTopology $Topology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchIndexComponent -SearchTopology $Topology -SearchServiceInstance $hostApp1 –IndexPartition 0 #8. Create the topology $Topology | Set-SPEnterpriseSearchTopology
  • 26. #2. Extend the Search Topology: $hostApp1 = Get-SPEnterpriseSearchServiceInstance -Identity "SP2013" $hostApp2 = Get-SPEnterpriseSearchServiceInstance -Identity "SPSearch" Start-SPEnterpriseSearchServiceInstance -Identity $hostApp1 Start-SPEnterpriseSearchServiceInstance -Identity $hostApp2 #3. Keep running this command until the Status is Online: Get-SPEnterpriseSearchServiceInstance -Identity $hostApp1 Get-SPEnterpriseSearchServiceInstance -Identity $hostApp2 #4. Once the status is online, you can proceed with the following commands: $ssa = Get-SPEnterpriseSearchServiceApplication $active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa –Active $newTopology = New-SPEnterpriseSearchTopology - SearchApplication $ssa New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchContentProcessingComponent - SearchTopology $newTopology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchAnalyticsProcessingComponent - SearchTopology $newTopology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchQueryProcessingComponent - SearchTopology $newTopology -SearchServiceInstance $hostApp1 New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostApp1 –IndexPartition 0 New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostApp2 New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostApp2 New-SPEnterpriseSearchContentProcessingComponent - SearchTopology $newTopology -SearchServiceInstance $hostApp2 New-SPEnterpriseSearchAnalyticsProcessingComponent - SearchTopology $newTopology -SearchServiceInstance $hostApp2 New-SPEnterpriseSearchQueryProcessingComponent - SearchTopology $newTopology -SearchServiceInstance $hostApp2 New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostApp2 –IndexPartition 1 #5.Activate the topology: Set-SPEnterpriseSearchTopology -Identity $newTopology
  • 29. Challenges: Intent Where is my talk Project Plan? Are Documents held at the same place? I wonder if there are references from previous projects? Different people have different intents Query Rules help you handle intents There is rarely a single right answer Infrastructure Project
  • 30. Conceptual Relevance Flow For all queries: Authorities: Level 1: http://employment Ranking model: {incorporate user ratings} Query: HR Employment quarterly report Search Web Part Query Processing Engine Document Collection Thesaurus: HR  Human Resources Best bets: HR Employment /HR/employment (WORDS HR, Human Resources) AND (WORDS employees, employed) AND (WORDS quarterly, quarterlies) AND (WORDS report, reports, reported) Mixed Results for: • HR Employment best bet • HR Employment quarterly report • HR Employment ContentType=reports Dynamic Reordering Rules: Quarterly Report  {prefer docs from http://reports} Query Rule: {Terms} Quarterly Report  {Terms} ContentType=“reports”
  • 31. Sites that are important Sites with low intrinsic relevance Takes ~24hrs to propagate
  • 33. Setting an authority affects all sites connected through hyperlinks Sites are weighted by distance to the authority
  • 34. Tune Search Results Created at the SSA, Tenant, Site Collection or Site SSA Site Collection Site
  • 35. Condition When Do I apply the rule? Action What to do when the rule is matched? Publishing When should the rule be active?
  • 36.  Exact match, beginning or end  Ad-hoc or term store dictionary  Match a regex (advanced)  Is this query more likely aimed at the following source…?  Do people mostly click on result of the following type…?  Show a promoted result  Show a block of results  Replace the core results with a different query
  • 37. Dynamically Ranking Change Part of the query Results Ranking
  • 39. High Availability and Performance Better Search Quality Better management Friendly results and tools Session Objective and Takeaways
  • 41. Session Time (GMT) Time (EST) Title Level Speaker Twitter Handle #SP24S090 5:00 1:00 Using the Content Enrichment Web Service with SharePoint Server 2013 Search Technical - Advanced Sezai Komur - NEC Australia @sezai #SP24S021 6:00 2:00 2013 Search, Display Templates, Query Rules, Result Types Technical - Beginner Omer Zubair - CSC @Omer_Zubair #SP24S047 8:00 4:00 Real-life experience building search-driven applications for product-centric sites Technical - Advanced Marius Constantinescu - blue-infinity SA @c_marius #SP24S032 10:00 6:00 Custom Indexing Connectors - How to integrate external system into your SharePoint Enterprise Search Technical - Advanced Heinrich Ulbricht - Communardo Software GmbH @h_ulbricht #SP24S083 11:00 7:00 Search First Migration with SharePoint 2013 – Benefits / Disadvantages Technical - Intermediate Max Melcher - Alegri International Service GmbH @maxmelcher #SP24S034 14:00 10:00 The Search Immaturity Cycle, and How to Create a Search Strategy Business - Intermediate Jeff Fried - BA Insight @jefffried #SP24S009 16:00 12:00 10 Things to Know about Search in SP2013 and Office 365 Business - Beginner Agnes Molnar - Search Explained @molnaragnes #SP24S019 18:00 14:00 Search Topology and Optimization Technical - Advanced Mike Maadarani - MCM Consulting @mikemaadarani #SP24S050 22:00 18:00 Search Driven Application Development in SharePoint 2013 Technical - Intermediate Matt Youngstrom - Magenic @spguru