Friday, July 24, 2009

Enterprise Search Architecture & Configuration - Part 2

Server role involved in Search Architecture & Search Processes

Server role
Following diagram shows details of Server role involved in Enterprise search (see Enterprise search architecture - Part1)

All these roles can be assigned to a single server (stand alone installation), or to a server farm where different server is assigned to different role, following figure shows some sample server farms...

Search Processes
The two main processes in Enterprise search are Indexing process and Query process, performed by Index engine and Query Engine respectively(see Enterprise search architecture - Part1).The task performed by Index Engine and Query Engine are as follows...

  • Indexing Processes
    1. Indexer retrieves the start address of content sources
    2. Indexer invokes a protocol handler to connect to and traverse the content source
    3. Protocol Handler identifies content nodes , such as files and web pages
    4. Protocol Handler retrieves system level metadata and access control list
    5. Protocol handler invokes the iFilter associated with the content node type
    6. iFilter retrieves content and metadata from the content node
    7. Content and metadata are parsed by the Word Breaker and are added to the full text index
    8. Metadata and Access Control Lists are added to the search database

  • Query Processes
    1. Query terms are collected by a web server
    2. Query term are supplemented with contextual information, like Who is the user?...
    3. The web server initiates the query by -
      • Contacting a query server to run the query on the full text index.Stemmers expansion are used
      • Contacting the search database for managed properties and access control lists
    4. The web server security-trims the results and returns them to the caller

Flow of a search request is illustrated in below figure...

<< Part 1 - Search Architecture & Components

Part 3 - Search Configuration & Administration >>

No comments: