SlideShare a Scribd company logo
Building a scalable Search
architecture in SharePoint
2013
Thuan Nguyen, SharePoint MVP
thuan@outlook.com
@nnthuan
Vietnam SharePoint User Group
About Me
 SharePoint Practice Lead, Solution Architect – FPT Software
 Microsoft SharePoint MVP (2011, 2012, 2013, 2014)
 Used to love start-up with two SharePoint-based products.
 Now focus on building a SharePoint core standard and
framework for Singapore Government.
Vietnam SharePoint User Group
Agenda
 Common Misunderstandings
 Architecture & Topology
 Practical Guide
 Question & Answer
Vietnam SharePoint User Group
For those who are looking into having multiple Search servers
handling millions documents.
Common Misunderstandings
 For High Availability, create two Search Service
Applications.
 There is only one machine playing Search role in your farm
 Scale out Search architecture by adding more servers.
 Start Search service is to make search functionality work.
Vietnam SharePoint User Group
Architecture & Topology
Logical Architecture
Crawl
Content Processing
Analytics Processing
Index
Administration
Query Processing
Understand each component will help better design a scalable &
maintainable Search for your organization.
Vietnam SharePoint User Group
Crawl Component
 Responsible for crawling content from
different sources
 SharePoint sites
 Exchange
 Lotus Notes
 Documentum
 HTTP Website
 Deliver crawled items to content
processing component.
 Crawl database stores information
about crawl items and crawl history
Vietnam SharePoint User Group
dbo.MSSCrawlHistoryLocal
Content Processing
 Processes crawled items and passes these
items to the index component
 Performs linguistic processing at index
time (e.g. language detection and entity
extraction)
 Writes information about links and URLs
to the Link database
Vietnam SharePoint User Group
dbo.MSSQLogResultDocs
Analytics Processing
Vietnam SharePoint User Group
 Analyzes crawled items and how users interact
with search results.
 When an user does an action (e.g. view a page)
the event is collected in usage files on the WFE’s
and regularly pushed to event store where they
are stored until processed
 Results are then returned to the Content
Processing Component to be included in the
search index
dbo.SearchReportData
Index Component
Vietnam SharePoint User Group
 Receives the processed items from the content
processing component and writes them to the
search index.
 Handles incoming queries, retrieves information
from the search index, and sends back the result set
to the query processing component.
Index Architecture
Vietnam SharePoint User Group
 An index partition is a logical portion of
the entire search index.
 Each partition is served by one or more
index components (or “replicas”)
 In a partition there’s only one
primary (or “Active”) replica who’s the
only one that writes data in a
partition
 Other secondary (or “passive”) replicas are
there for fault tolerance and increased
query throughput
 Index can scale in both horizontal
(partitions) and vertical (replicas) ways
 Partitions can be added but NOT
removed
Secondary
Replica 1
Secondary
Replica 2
Secondary
Replica 1
Secondary
Replica 2
Secondary
Replica 3
Secondary
Replica 2
Secondary
Replica 1
Partition #1 Partition #2 Partition #3
Secondary
Replica 3
Secondary
Replica 3
Servers
Index Servers
1, 2 & 3
Index Servers
4, 5 & 6
Index Servers
7, 8 & 9
Index Servers
10, 11 & 12
Query Processing
 Analyses and processes search queries and results.
 The processed query is then submitted to the index
component, which returns a set of search results for the
query.
Vietnam SharePoint User Group
Search Administration
Vietnam SharePoint User Group
 Search Admin Component
 Runs number of system processes required
for search
 Is responsible for search provisioning and
topology changes
 Coordinates search components – Content
Processing, Query Processing, Analytics, and
Indexing.
 Search Admin DB
 Stores search configuration data:
 Topology
 Crawl rules
 Query rules
 Managed property mappings
 Content sources
 Crawl schedules
 Stores Analytics settings
dbo.MSSConfiguration
Practical Guide
Vietnam SharePoint User Group
Assessment Design Implementation Verification
Practical Guide- Assessment
 Don’t hastily touch your
SharePoint. Leave it alone!
 Think about your content
 What are your content sources
(SharePoint document library,
Exchange, File Server..)?
 How much of content you want
to search? (e.g. 100,000
documents)
 Assess the number of concurrent
users.
 Search database sizing
Vietnam SharePoint User Group
Practical Guide- Assessment
Vietnam SharePoint User Group
 Sizing factor:
 Total Database Size
 Total Index Size
 Query Component Index Size
 Disk Storage
 Link Database
 Search Admin Database
 Total Crawl Database Size
 Total Crawl Database Log Size
 Analytics Database Size
=> Total database size for Search
Microsoft already published the formula for these things above.
Practical Guide - Assessment
Vietnam SharePoint User Group
What is exactly High Availability for Search?
 Business language: Search doesn’t stop end
users searching something.
 Technical language: All search logical
components and Search databases must be
functional as always.
 Two or more Search service applications
 Two or more Search servers
Practical Guide- Design
 Don’t hastily touch your SharePoint. Leave it alone!
 Start with one machine hosting all components
Vietnam SharePoint User Group
Practical Guide - Design
Vietnam SharePoint User Group
 Don’t hastily touch your SharePoint. Leave it alone!
 Think about two machines for Search but different
set of components
Redundant set of (Query + Crawl). If one goes down, Query
component in another machine still keeps functioning.
Practical Guide - Design
Vietnam SharePoint User Group
 Don’t hastily touch your
SharePoint. Leave it alone!
 Do you need three machines for
Search?
 Speed up Query component?
 Reduce crawling time?
 Balance CPU utilization in
machine?
With more three machines, go to start an assessment of
components in terms of the usage of hardware resources
Practical Guide - Design
Component CPU Network Disk RAM
Crawl Component MEDIUM HIGH MEDIUM MEDIUM
Content processing (CPC) HIGH MEDIUM HIGH
Analytics processing (APC) MEDIUM HIGH MEDIUM MEDIUM
Index Component HIGH MEDIUM HIGH HIGH
Query processing (QPC) MEDIUM MEDIUM MEDIUM
Search Admin Component LOW LOW LOW
Vietnam SharePoint User Group
Microsoft Ignite – BK3176
If logical architecture requires scale-out, consider utilization
Practical Guide - Design
Volume of content Sample Search Architecture
< 1 mil items Single-server Search farm
1 mil – 5 mil Two-server Search farm
5 mil – 10 mil Small Search farm (3-4 servers)
10 mil – 40 mil Medium Search farm (5-6 servers)
> 40 mil Large Search farm
Vietnam SharePoint User Group
Sample Search Architecture
Vietnam SharePoint User Group
 Handle number of different content
sources (with 20 custom applications)
 Nearly 1 million items currently
 Full crawl takes 2 hours
 Serving for nearly 20,000 users with
500 concurrent users.
Sample Search Architecture
Vietnam SharePoint User Group
 Optimize search query to serve
hundreds of concurrent users.
 Handle million of documents (approx.
5 TB)
Sample Search Architecture
Vietnam SharePoint User Group
 Serve for 20 million
documents & items (approx.
10-15 TB).
Central Administration doesn’t help much.
PowerShell is your friend
1. Create Search Service Application
2. Clone existing topology
3. Modify Search component based on your designated
architecture
4. Assign Index component and location
5. Activate the new Search topology
Vietnam SharePoint User Group
Practical Guide- Implementation
Build Search farm with PowerShell http://bit.ly/search_multi_server_PS
$app1 = "APP-Server-01"
$app2 = "APP-Server-02"
$SearchAppPoolName = "SharePoint_SearchApp"
$SearchAppPoolAccountName = "TestDomainSPSearchPool"
$SearchServiceName = "SharePoint_Search_Service"
$SearchServiceProxyName = "SharePoint_Search_Proxy"
$DatabaseName = "SharePoint_Search_AdminDB"
#Create a Search Service Application Pool
$spAppPool = New-SPServiceApplicationPool -Name $SearchAppPoolName -Account
$SearchAppPoolAccountName -Verbose
#Start Search Service Instance on all Application Servers
Start-SPEnterpriseSearchServiceInstance $App1 -ErrorAction SilentlyContinue
Start-SPEnterpriseSearchServiceInstance $App2 -ErrorAction SilentlyContinue
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $App1 -ErrorAction SilentlyContinue
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $App2 -ErrorAction SilentlyContinue
#Create Search Service Application
$ServiceApplication = New-SPEnterpriseSearchServiceApplication -Partitioned -Name $SearchServiceName
-ApplicationPool $spAppPool.Name -DatabaseName $DatabaseName
#Create Search Service Proxy
New-SPEnterpriseSearchServiceApplicationProxy -Partitioned -Name $SearchServiceProxyName -
SearchApplication $ServiceApplication
Vietnam SharePoint User Group
Practical Guide- Implementation
Practical Guide- Implementation
#We need only one admin component
New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $App1SSI
#We need two content processing components for HA
New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $App1SSI
#We need two analytics processing components for HA
New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $App1SSI
#We need two crawl components for HA
New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $App1SSI
New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $App2SSI
#We need two query processing components for HA
New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $App1SSI
New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $App2SSI
Vietnam SharePoint User Group
$clone = $ServiceApplication.ActiveTopology.Clone()
$App1SSI = Get-SPEnterpriseSearchServiceInstance -Identity $app1
$App2SSI = Get-SPEnterpriseSearchServiceInstance -Identity $app2
$IndexLocation = “APP2Index_Search"
New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $App2SSI -
RootDirectory $IndexLocation -IndexPartition 0
$clone.Activate()
Practical Guide- Implementation
Vietnam SharePoint User Group
Practical Guide- Verification
Vietnam SharePoint User Group
Central Administration can help
 PowerShell
 Get-
SPEnterpriseSearchStatus
 Get-
SPEnterpriseSearchTopolog
y
Search PowerShell http://bit.ly/PowerShell_SP2013_Search
Helpful References
 SharePoint 2013: SharePoint and Enterprise Search Survival
Guide http://bit.ly/search_survival_guide
 Plan enterprise search architecture in SharePoint Server 2013
http://bit.ly/plan_for_ent_search
 Search Architecture for SharePoint 2013 http://zoom.it/Tsuy
Vietnam SharePoint User Group
Building a scalable search architecture in share point 2013
Vietnam SharePoint User Group
Thank you

More Related Content

PPTX
SharePoint 2013 search improvements
PPTX
SharePoint 2013 Search Topology and Optimization
PPTX
10 Things I Like in SharePoint 2013 Search
PDF
SharePoint 2013 – the upgrade story
PPTX
SharePoint 2013 'Search': What you need to Know!
PPTX
Understanding and Configuring an Effective SharePoint 2013 Search
PPTX
SharePoint Saturday Perth 2013 - Overview of Search in SharePoint Server 201...
PDF
Planning SharePoint 2013 Search for IT PROs
SharePoint 2013 search improvements
SharePoint 2013 Search Topology and Optimization
10 Things I Like in SharePoint 2013 Search
SharePoint 2013 – the upgrade story
SharePoint 2013 'Search': What you need to Know!
Understanding and Configuring an Effective SharePoint 2013 Search
SharePoint Saturday Perth 2013 - Overview of Search in SharePoint Server 201...
Planning SharePoint 2013 Search for IT PROs

What's hot (20)

PDF
Sps boston 2014_o365_power_shell_csom_amitv
PPTX
SharePoint 2013 Search - Whats new for End Users
PPTX
Introduction to SharePoint 2013 Search
PPTX
SharePoint Search Secrets for Power Users & Administrators - Mike Smith
PPTX
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
PPTX
MetaVis Webinar - 10 Things I Like in SharePoint 2013 Search
PPTX
#SPSPhilly search topology & optimization
PPTX
Avoiding 10 common SharePoint Administration mistakes
PDF
Search Solution in SharePoint 2013
PPTX
Drilling Down to the Challenges of SharePoint Taxonomy Implementation
PPTX
B365 saturday practical guide to building a scalable search architecture in s...
PPTX
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
PPTX
SharePoint Search - SPSNYC 2014
PPTX
Cloud Hybrid Search with SharePoint
PPTX
Fives ways to query SharePoint 2013 Search - SharePoint Summit Toronto 2013
PDF
Building Search Driven Applications in SharePoint 2010 - SharePoint Fest 2012
PPTX
Understanding and Applying Cloud Hybrid Search
PDF
Fried sp techcon hybrid search deeper dive
PDF
Take Cloud Hybrid Search to the Next Level
PPTX
Understanding and Applying Cloud Hybrid Search
Sps boston 2014_o365_power_shell_csom_amitv
SharePoint 2013 Search - Whats new for End Users
Introduction to SharePoint 2013 Search
SharePoint Search Secrets for Power Users & Administrators - Mike Smith
Search First Migration - Using SharePoint 2013 Search for SharePoint 2010
MetaVis Webinar - 10 Things I Like in SharePoint 2013 Search
#SPSPhilly search topology & optimization
Avoiding 10 common SharePoint Administration mistakes
Search Solution in SharePoint 2013
Drilling Down to the Challenges of SharePoint Taxonomy Implementation
B365 saturday practical guide to building a scalable search architecture in s...
Overview of Search in SharePoint Server 2013 - Australian SharePoint Conferen...
SharePoint Search - SPSNYC 2014
Cloud Hybrid Search with SharePoint
Fives ways to query SharePoint 2013 Search - SharePoint Summit Toronto 2013
Building Search Driven Applications in SharePoint 2010 - SharePoint Fest 2012
Understanding and Applying Cloud Hybrid Search
Fried sp techcon hybrid search deeper dive
Take Cloud Hybrid Search to the Next Level
Understanding and Applying Cloud Hybrid Search
Ad

Similar to Building a scalable search architecture in share point 2013 (20)

PPTX
Enterprise Search in SharePoint 2010
PPTX
SharePoint Intelligence Real World Business Workflow With Share Point Designe...
PPTX
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
PPTX
Find Information Faster Using SharePoint 2010 Search
PPTX
Large Scale SharePoint SQL Deployments
PPTX
SharePoint and Large Scale SQL Deployments - NZSPC
PPTX
Real world business workflow with SharePoint designer 2013
PPTX
Information architecture search_bettertogether
PPTX
SPConnections - What's new in SharePoint 2013 Search
PPTX
#SEASPC: Information Architecture and Enterprise Search - Better Together
PPTX
Introduction to FAST Search for SharePoint 2010
PPTX
FAST Search for SharePoint 2010
PPTX
Improve Performance in Fast Search for SharePoint - Comperio
PPT
SharePointDetails.ppt
PPTX
Building the Perfect SharePoint 2010 Farm
PPTX
Highly available and scalable architectures
PPTX
SharePoint Administration
PPTX
Search Topology and Optimization
PPTX
How did it go? The first large enterprise search project in Europe using Shar...
PPTX
SPConnections - Search Administration in SharePoint 2013
Enterprise Search in SharePoint 2010
SharePoint Intelligence Real World Business Workflow With Share Point Designe...
EPC Group - Comprehensive Overview of SharePoint 2010's Enterprise Search Cap...
Find Information Faster Using SharePoint 2010 Search
Large Scale SharePoint SQL Deployments
SharePoint and Large Scale SQL Deployments - NZSPC
Real world business workflow with SharePoint designer 2013
Information architecture search_bettertogether
SPConnections - What's new in SharePoint 2013 Search
#SEASPC: Information Architecture and Enterprise Search - Better Together
Introduction to FAST Search for SharePoint 2010
FAST Search for SharePoint 2010
Improve Performance in Fast Search for SharePoint - Comperio
SharePointDetails.ppt
Building the Perfect SharePoint 2010 Farm
Highly available and scalable architectures
SharePoint Administration
Search Topology and Optimization
How did it go? The first large enterprise search project in Europe using Shar...
SPConnections - Search Administration in SharePoint 2013
Ad

More from Terrence Nguyen (10)

PPTX
Azure.application development.nhut.nguyen
PPTX
SPSHK.PowerBI.SharePoint.NhutNguyen
PPTX
Business Intelligent (BI) for Office 365
PPTX
SharePoint Saturday Vietnam 8th - sharepoint and the internet of thing
PDF
SharePoint Saturday Vietnam 8th - managed metadata.pptx
PPTX
SharePoint Saturday Vietnam 8th - angularjs and signalr in sharepoint
PPTX
User and License Management on SharePoint Online
PPTX
AppBattle VietNam 1st
PPT
Lotus Notes Application to SharePoint Migration Process
PPTX
Corporate social network get meet_core_value
Azure.application development.nhut.nguyen
SPSHK.PowerBI.SharePoint.NhutNguyen
Business Intelligent (BI) for Office 365
SharePoint Saturday Vietnam 8th - sharepoint and the internet of thing
SharePoint Saturday Vietnam 8th - managed metadata.pptx
SharePoint Saturday Vietnam 8th - angularjs and signalr in sharepoint
User and License Management on SharePoint Online
AppBattle VietNam 1st
Lotus Notes Application to SharePoint Migration Process
Corporate social network get meet_core_value

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Modernizing your data center with Dell and AMD
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
cuic standard and advanced reporting.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MYSQL Presentation for SQL database connectivity
Modernizing your data center with Dell and AMD
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation theory and applications.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Digital-Transformation-Roadmap-for-Companies.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
cuic standard and advanced reporting.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction

Building a scalable search architecture in share point 2013

  • 1. Building a scalable Search architecture in SharePoint 2013 Thuan Nguyen, SharePoint MVP thuan@outlook.com @nnthuan Vietnam SharePoint User Group
  • 2. About Me  SharePoint Practice Lead, Solution Architect – FPT Software  Microsoft SharePoint MVP (2011, 2012, 2013, 2014)  Used to love start-up with two SharePoint-based products.  Now focus on building a SharePoint core standard and framework for Singapore Government. Vietnam SharePoint User Group
  • 3. Agenda  Common Misunderstandings  Architecture & Topology  Practical Guide  Question & Answer Vietnam SharePoint User Group For those who are looking into having multiple Search servers handling millions documents.
  • 4. Common Misunderstandings  For High Availability, create two Search Service Applications.  There is only one machine playing Search role in your farm  Scale out Search architecture by adding more servers.  Start Search service is to make search functionality work. Vietnam SharePoint User Group
  • 5. Architecture & Topology Logical Architecture Crawl Content Processing Analytics Processing Index Administration Query Processing Understand each component will help better design a scalable & maintainable Search for your organization. Vietnam SharePoint User Group
  • 6. Crawl Component  Responsible for crawling content from different sources  SharePoint sites  Exchange  Lotus Notes  Documentum  HTTP Website  Deliver crawled items to content processing component.  Crawl database stores information about crawl items and crawl history Vietnam SharePoint User Group dbo.MSSCrawlHistoryLocal
  • 7. Content Processing  Processes crawled items and passes these items to the index component  Performs linguistic processing at index time (e.g. language detection and entity extraction)  Writes information about links and URLs to the Link database Vietnam SharePoint User Group dbo.MSSQLogResultDocs
  • 8. Analytics Processing Vietnam SharePoint User Group  Analyzes crawled items and how users interact with search results.  When an user does an action (e.g. view a page) the event is collected in usage files on the WFE’s and regularly pushed to event store where they are stored until processed  Results are then returned to the Content Processing Component to be included in the search index dbo.SearchReportData
  • 9. Index Component Vietnam SharePoint User Group  Receives the processed items from the content processing component and writes them to the search index.  Handles incoming queries, retrieves information from the search index, and sends back the result set to the query processing component.
  • 10. Index Architecture Vietnam SharePoint User Group  An index partition is a logical portion of the entire search index.  Each partition is served by one or more index components (or “replicas”)  In a partition there’s only one primary (or “Active”) replica who’s the only one that writes data in a partition  Other secondary (or “passive”) replicas are there for fault tolerance and increased query throughput  Index can scale in both horizontal (partitions) and vertical (replicas) ways  Partitions can be added but NOT removed Secondary Replica 1 Secondary Replica 2 Secondary Replica 1 Secondary Replica 2 Secondary Replica 3 Secondary Replica 2 Secondary Replica 1 Partition #1 Partition #2 Partition #3 Secondary Replica 3 Secondary Replica 3 Servers Index Servers 1, 2 & 3 Index Servers 4, 5 & 6 Index Servers 7, 8 & 9 Index Servers 10, 11 & 12
  • 11. Query Processing  Analyses and processes search queries and results.  The processed query is then submitted to the index component, which returns a set of search results for the query. Vietnam SharePoint User Group
  • 12. Search Administration Vietnam SharePoint User Group  Search Admin Component  Runs number of system processes required for search  Is responsible for search provisioning and topology changes  Coordinates search components – Content Processing, Query Processing, Analytics, and Indexing.  Search Admin DB  Stores search configuration data:  Topology  Crawl rules  Query rules  Managed property mappings  Content sources  Crawl schedules  Stores Analytics settings dbo.MSSConfiguration
  • 13. Practical Guide Vietnam SharePoint User Group Assessment Design Implementation Verification
  • 14. Practical Guide- Assessment  Don’t hastily touch your SharePoint. Leave it alone!  Think about your content  What are your content sources (SharePoint document library, Exchange, File Server..)?  How much of content you want to search? (e.g. 100,000 documents)  Assess the number of concurrent users.  Search database sizing Vietnam SharePoint User Group
  • 15. Practical Guide- Assessment Vietnam SharePoint User Group  Sizing factor:  Total Database Size  Total Index Size  Query Component Index Size  Disk Storage  Link Database  Search Admin Database  Total Crawl Database Size  Total Crawl Database Log Size  Analytics Database Size => Total database size for Search Microsoft already published the formula for these things above.
  • 16. Practical Guide - Assessment Vietnam SharePoint User Group What is exactly High Availability for Search?  Business language: Search doesn’t stop end users searching something.  Technical language: All search logical components and Search databases must be functional as always.  Two or more Search service applications  Two or more Search servers
  • 17. Practical Guide- Design  Don’t hastily touch your SharePoint. Leave it alone!  Start with one machine hosting all components Vietnam SharePoint User Group
  • 18. Practical Guide - Design Vietnam SharePoint User Group  Don’t hastily touch your SharePoint. Leave it alone!  Think about two machines for Search but different set of components Redundant set of (Query + Crawl). If one goes down, Query component in another machine still keeps functioning.
  • 19. Practical Guide - Design Vietnam SharePoint User Group  Don’t hastily touch your SharePoint. Leave it alone!  Do you need three machines for Search?  Speed up Query component?  Reduce crawling time?  Balance CPU utilization in machine? With more three machines, go to start an assessment of components in terms of the usage of hardware resources
  • 20. Practical Guide - Design Component CPU Network Disk RAM Crawl Component MEDIUM HIGH MEDIUM MEDIUM Content processing (CPC) HIGH MEDIUM HIGH Analytics processing (APC) MEDIUM HIGH MEDIUM MEDIUM Index Component HIGH MEDIUM HIGH HIGH Query processing (QPC) MEDIUM MEDIUM MEDIUM Search Admin Component LOW LOW LOW Vietnam SharePoint User Group Microsoft Ignite – BK3176 If logical architecture requires scale-out, consider utilization
  • 21. Practical Guide - Design Volume of content Sample Search Architecture < 1 mil items Single-server Search farm 1 mil – 5 mil Two-server Search farm 5 mil – 10 mil Small Search farm (3-4 servers) 10 mil – 40 mil Medium Search farm (5-6 servers) > 40 mil Large Search farm Vietnam SharePoint User Group
  • 22. Sample Search Architecture Vietnam SharePoint User Group  Handle number of different content sources (with 20 custom applications)  Nearly 1 million items currently  Full crawl takes 2 hours  Serving for nearly 20,000 users with 500 concurrent users.
  • 23. Sample Search Architecture Vietnam SharePoint User Group  Optimize search query to serve hundreds of concurrent users.  Handle million of documents (approx. 5 TB)
  • 24. Sample Search Architecture Vietnam SharePoint User Group  Serve for 20 million documents & items (approx. 10-15 TB).
  • 25. Central Administration doesn’t help much. PowerShell is your friend 1. Create Search Service Application 2. Clone existing topology 3. Modify Search component based on your designated architecture 4. Assign Index component and location 5. Activate the new Search topology Vietnam SharePoint User Group Practical Guide- Implementation Build Search farm with PowerShell http://bit.ly/search_multi_server_PS
  • 26. $app1 = "APP-Server-01" $app2 = "APP-Server-02" $SearchAppPoolName = "SharePoint_SearchApp" $SearchAppPoolAccountName = "TestDomainSPSearchPool" $SearchServiceName = "SharePoint_Search_Service" $SearchServiceProxyName = "SharePoint_Search_Proxy" $DatabaseName = "SharePoint_Search_AdminDB" #Create a Search Service Application Pool $spAppPool = New-SPServiceApplicationPool -Name $SearchAppPoolName -Account $SearchAppPoolAccountName -Verbose #Start Search Service Instance on all Application Servers Start-SPEnterpriseSearchServiceInstance $App1 -ErrorAction SilentlyContinue Start-SPEnterpriseSearchServiceInstance $App2 -ErrorAction SilentlyContinue Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $App1 -ErrorAction SilentlyContinue Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $App2 -ErrorAction SilentlyContinue #Create Search Service Application $ServiceApplication = New-SPEnterpriseSearchServiceApplication -Partitioned -Name $SearchServiceName -ApplicationPool $spAppPool.Name -DatabaseName $DatabaseName #Create Search Service Proxy New-SPEnterpriseSearchServiceApplicationProxy -Partitioned -Name $SearchServiceProxyName - SearchApplication $ServiceApplication Vietnam SharePoint User Group Practical Guide- Implementation
  • 27. Practical Guide- Implementation #We need only one admin component New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $App1SSI #We need two content processing components for HA New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $App1SSI #We need two analytics processing components for HA New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $App1SSI #We need two crawl components for HA New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $App1SSI New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $App2SSI #We need two query processing components for HA New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $App1SSI New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $App2SSI Vietnam SharePoint User Group $clone = $ServiceApplication.ActiveTopology.Clone() $App1SSI = Get-SPEnterpriseSearchServiceInstance -Identity $app1 $App2SSI = Get-SPEnterpriseSearchServiceInstance -Identity $app2
  • 28. $IndexLocation = “APP2Index_Search" New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $App2SSI - RootDirectory $IndexLocation -IndexPartition 0 $clone.Activate() Practical Guide- Implementation Vietnam SharePoint User Group
  • 29. Practical Guide- Verification Vietnam SharePoint User Group Central Administration can help  PowerShell  Get- SPEnterpriseSearchStatus  Get- SPEnterpriseSearchTopolog y Search PowerShell http://bit.ly/PowerShell_SP2013_Search
  • 30. Helpful References  SharePoint 2013: SharePoint and Enterprise Search Survival Guide http://bit.ly/search_survival_guide  Plan enterprise search architecture in SharePoint Server 2013 http://bit.ly/plan_for_ent_search  Search Architecture for SharePoint 2013 http://zoom.it/Tsuy Vietnam SharePoint User Group
  • 32. Vietnam SharePoint User Group Thank you