Search Cartridge consists of the Search Engine Server and a search module by Autonomy (formerly known as Verity).
The Search Engine Server has the same architecture as other CMS applications. It is always run as a master server. The master creates slaves to which it passes the individual requests as HTTP connections. Subsequently, the slaves communicate on their own with the HTTP clients that have initiated the requests. The master server acts as a supervisor. It makes sure that there are always enough slaves available to which it can dispatch incoming connections. The limits, i. e. the minimum and maximum numbers of running slaves, for example, can be set by means of configuration values.
Just as the Content Manager and the Template Engine, the Search Engine Server has a Tcl interface for maintenance purposes such as creating and managing collections (used for storing indexes). Furthermore, the search functions of the Search Engine Server can be extended using Tcl scripts. It is possible, for example, to pre-process search requests or to post-process search results.
Clients such as the Content Manager or a search script pass search and indexing tasks to the Search Engine Server via its XML interface. The XML interface and the DTD of the documents passed to the server using this interface make the functions of the Search Cartridge available to the clients and standardize their access to it.