Indexing and Searching Services

Since the 5.0  version of the dLibra system, it has been possible to divide the search service (Search Server) known from version 4.0 into two separate services, for searching (Search Server) and indexing (Index Server), which are independent from each other. In the default configuration of the dLibra server, both services operate within the framework of the same Java virtual machine and share the same catalog with a search index. Such a configuration corresponds to the configuration from version 4.0 (regardless of whether the search service is located together with other services of the dLibra server or if it is run on a separate machine). Apart from the default configuration, the dLibra system makes available two other options, which differ with respect to the physical distribution of the services.

Search Server and Index Server on the Same Machine

In that solution, the Search Server and Index Server services are located on the same physical machine but operate within the framework of separate Java virtual machines. In order to obtain such a configuration, the user has to take the following steps:

 

Search Server and Index Server on Separate Machines

In that solution, the Search Server and Index Server services are located on separate physical machines and, consequently, operate within the framework of separate Java virtual machines. In order to obtain such a configuration, the user has to take the following steps:

 

Configuring the Synchronization of Search Indexes

The separation of the indexing and searching services makes them operate on independent search indexes. As a result, the index used for searching is not always current, and it has to be periodically refreshed. The dLibra server has a mechanism for synchronizing the indexes between the Index Server and Search Server services. The synchronization is run in accordance with the settings of the periodic task defined in file SE/conf/se/jobs.xml. In the default synchronization plan, the content index (as well as the _spell dictionary indexes) is synchronized separately from metadata indexes because of its size. The plan can be adjusted to individual needs, by modifying the CRON expressions for particular tasks. Additional periodic tasks related to particular index types can also be created.

 

Notes