31
Practical Guide to building a scalable Search Architecture in SharePoint 2013 Thuan Nguyen, SharePoint MVP Solution Architect FPT Asia Pacific Pte. Ltd @nnthuan http://business365.azurewebsites.net twitter: #business365sg

B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

Embed Size (px)

Citation preview

Page 1: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Practical Guide to building a scalable Search Architecture in SharePoint 2013 Thuan Nguyen, SharePoint MVPSolution ArchitectFPT Asia Pacific Pte. Ltd@nnthuan

twitter: #business365sg

Page 2: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

About Me Microsoft SharePoint MVP Solution Architect at FPT

Asia Pacific with 6 years of experience with SharePoint platform.

Focus on building a comprehensive SharePoint enterprise-class solution

Email: [email protected] Blog: http://thuansoldier.net

twitter: #business365sg

Page 3: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

What the talk is aboutCreating a search service application, adding content sources and performing full crawl are what you have ever heard about making search work for your SharePoint 2013. Imagine one day your boss comes to you asking about the need of a search for millions of documents. Adding more hardware resources would be flashed in your mind.

What is next? twitter: #business365sg

Page 4: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Agenda Common Misunderstandings Architecture & Topology Practical Guide Question & Answer

twitter: #business365sg

Page 5: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

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.

twitter: #business365sg

Page 6: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Architecture & TopologyLogical Architecture

CrawlContent ProcessingAnalytics Processing

IndexAdministrationQuery Processing

twitter: #business365sg

Understand each component will help better design a scalable & maintainable Search for your organization.

Page 7: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Crawl Component

twitter: #business365sg

Responsible for crawling content from difference sources (by default)

SharePoint sites Exchange File Shares Line of Business Data HTTP Website Custom Repository

Deliver crawled items to content processing component.

Crawl database stores information about crawl items and crawl history

Page 8: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

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

twitter: #business365sg

Page 9: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Analytics Processing

twitter: #business365sg

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

Page 10: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Index Component 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.

twitter: #business365sg

An index partition is a logical portion of the entire search index.

Each partition is served by one or more index components (or “replicas”)

Page 11: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Query Processing

twitter: #business365sg

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.

Page 12: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Search Administration

twitter: #business365sg

Search Admin Component 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

Page 13: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

Practical Guide

twitter: #business365sg http://business365.azurewebsites.net

Assessment Design Implementation Verification

Page 14: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Assessment

twitter: #business365sg

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 High Availability requirement

Page 15: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Assessment

twitter: #business365sg

Sizing factor: Total Content Database Size Total Index Size (for index replica) 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 (except index replica)Contact me at [email protected] for search sizing calculator

Page 16: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Assessment

twitter: #business365sg

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 Add one more server and start search services on

two servers

Page 17: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Design

twitter: #business365sg

Don’t hastily touch your SharePoint. Leave it alone!

Start with one machine hosting all components

Page 18: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Design Don’t hastily touch your

SharePoint. Leave it alone!

Think about two machines for Search but different set of components

twitter: #business365sg

If one goes down, Query component in another machine still keeps functioning.

Page 19: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Design Don’t hastily touch your

SharePoint. Leave it alone!

Think about two machines for Search with the same set of components

twitter: #business365sg

Page 20: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Design

twitter: #business365sg

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?

Page 21: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Design

twitter: #business365sg

Component CPU Network Disk RAM

Crawl Component MEDIUM HIGH MEDIUM MEDIUM

Content processing (CPC) HIGH MEDIUM HIGHAnalytics processing (APC) MEDIUM HIGH MEDIUM MEDIUM

Index Component HIGH MEDIUM HIGH HIGH

Query processing (QPC) MEDIUM MEDIUM MEDIUMSearch Admin Component LOW LOW LOW

Page 22: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Design

twitter: #business365sg

Volume of content Sample Search Architecture< 1 mil items Single-server Search farm 1 mil – 5 mil Two-server Search farm5 mil – 10 mil Small Search farm (3-4 servers)10 mil – 40 mil Medium Search farm (5-6 servers)> 40 mil Large Search farm

Page 23: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Sample Search Architecture

twitter: #business365sg

Handle number of different content sources (with 20 custom applications)

Nearly 1 million items Full crawl takes 2 hours Serving for nearly 20,000 users with

500 concurrent users.

Page 24: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Sample Search Architecture

twitter: #business365sg

Optimize search query to serve hundreds of concurrent users.

Handle 2-3 million of documents

No HA for Analytics and Admin

Page 25: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

ImplementationCentral Administration doesn’t help much.PowerShell is your friend

1. Create Search Service Application2. Clone existing topology3. Modify Search component based on your designated

architecture4. Assign Index component and location5. Activate the new Search topology

twitter: #business365sg

Page 26: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

PowerShell Scripts http://bitly.com/search_multi_server_PS http://bit.ly/search_2013_gui

twitter: #business365sg

Page 27: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Verification Central Administration can help

twitter: #business365sg

PowerShell Get-SPEnterpriseSearchStatus Get-SPEnterpriseSearchTopology

Page 28: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

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

twitter: #business365sg

Page 29: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Q & Atwitter: #business365sg

Page 30: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Please complete the evaluation

http://j.mp/b365-sg

twitter: #business365sg

Page 31: B365 saturday practical guide to building a scalable search architecture in sharepoint 2013

http://business365.azurewebsites.net

Thank you to our sponsors!

twitter: #business365sg