Microsoft SharePoint Server 2010 delivers powerful intranet and people search, right out of the box. SharePoint 2010 Search helps your people find the information they need to get their jobs done. It provides intranet search, people search, and a platform to build search-driven applications. SharePoint 2010 Search is its combination of relevance, refinement, and people. This new approach to search provides an experience that is highly personalized, efficient, and effective.
In 2007, we had the concept of SSP. Components included:
The 3 servers are conceptually separate, however they can be used in any combination needed. Same server can host all 3 services or it can be separated as desired.
In addition to this, the concept of SSP ensured that we have one index per SSP. Since multiple web applications can be associated with same SSP and the SSP can have multiple content sources, many times this ended up with single index shared among various web applications.
Remains the same concept as 2007.
Is changed a bit. We have the same conceptual design of hosting the index. But the index is divided as compared to 2007. In 2010 what we have is something called as the index partition. The concept of index partition came up because in the 2007 era we had one index per SSP that used to have the "so called" single point of failure.
Is changed a little. Conceptually same as 2007, goal is to index content. However we have something called as "Crawl Components".
The index server runs one or more crawlers components. The index server also hosts the search administration component, usually. Atleast one server in the farm must be an index role. Two or more index servers provide redundancy based on how crawlers are associated to the crawl databases. You can add more index servers to increase crawl performance and scale out for capacity requirements. The role can be shared on a server with web server role or with other application server roles.
Index partitions means we can have one index created out of a various content sources "divided" among different "Query Servers". On top of this, these index partitions can be hosted on multiple query servers as a copy so that even if one query server is dead, entire index is not lost. This provides fault tolerance to a certain extent with load balancing; in a way, achieving what we did not have in 2007. Of course this would mean you need to have at least 2 query servers; having just one query server would not give you any fault tolerance or load balancing.
The entire index can be divided into discrete partitions that can then be distributed across multiple query servers. A second instance of each index partition can be deployed to a different query server to achieve redundancy. The entire index is an aggregation of all index partitions.
The component is responsible and required for changing the topology and administration of search instance. Only one search Administration component is allowed per search service application. Can run on any server in the farm, preferably an index server or a query server.
Crawl content based on what is specified in the crawl database. Each crawler is associated with one crawl database. Add crawlers to address capacity requirements and to increase crawling performance.
Hosts Search related databases. Can host other SharePoint databases as well. Can be mirrored or clustered. Add disks or more database servers to scale out. This hosts the property database, crawl database and search administration database. The property database stores properties for the crawled content that are required for querying. The crawl database stores the crawl history, manages crawl operations. Each crawl database can have one or more crawlers associated with it.
In MOSS 2007, we used to have Shared Services Provider which used to combine services like Search, User Profiles, Excel Services, Audiences and Business Data Catalog (BDC). In a situation where SSP goes corrupt or in a situation where we had to recreate SSP we had to reconfigure all the above services which was a pain. Also, scalability was an issue with SSPs.
So now with SharePoint Server 2010, we came up with a new Service Application architecture where we decided to break down the SSP in to individual and independent components and came up with the concept of "Service Applications". Service Applications are a huge improvement to the product, addressing many of the scalability compromises inherent in the SSP model. Service Applications can now be built by third parties and are available in both SharePoint Foundation and SharePoint Server. In designing Service Applications there were three main goals:
· Richness - the ability to deliver more features and allow third parties to build their own "shared services".
· Scalability - handle larger loads, scale farms, scale to the cloud
· Flexibility - provides more granularity
SharePoint Server 2010 Search – the out-of-the-box SharePoint search for enterprise deployments. SharePoint Server 2010 Search represents an important upgrade to the existing search for SharePoint
FAST Search Server 2010 for SharePoint – a brand new add-on product based on the FAST search technology that combines the best of FAST’s high-end search capabilities with the best of SharePoint. FAST Search for SharePoint 2010 is a completely new offering and the first new product based on the FAST technology since FAST was acquired by Microsoft in April 2008
Fresh 2010 Central Administration UI
Search Service Application UI
Search Administration UI in SharePoint 2007
In SharePoint 2010's Search Administration page, if you scroll down, you'll see Search Application Topology. Lets try to understand the components of that -
As you see in the above screenshot, Search Application Topology can be divided into 4 major components -
As per your scaling requirements, you can create new Crawl Components, Crawl Databases, Query Components and Property Databases.
You can have a Dedicated Crawl Database if you wish to, if you create a dedicated crawl database that can be used in Host Distribution Rules.
Nice article I appreciate your work and thank you for sharing