Using Full Text Search in a Primary/Backup Environment
This section describes best practices for using the full text search (FTS) functionality of Universal Contact Server in a primary/backup environment.
The same index files can be shared by two primary/backup UCS instances by using a system shared folder with the storage-path configuration option in UCS applications. The mandatory configuration options for the index are as follows:
- index/enabled = true
- index.contact/enabled = true
- index.contact/storage-path = <same location as backup> (The path does not have to be the same string, but must point to the same location.)
- index.interaction/enabled = true
- index.interaction/storage-path = <same location as backup> (The path does not have to be the same string, but must point to the same location.)
- index.srl/enabled = true
- index.srl/storage-path = <same location as backup> (The path does not have to be the same string, but must point to the same location.)
- Set the storage-path option of each index in the following form: \\<host of index>\<end of path>.
- On the Log On tab of the Properties service, select This account, and provide the login and password to have access to the index location.
- If UCS is rebuilding an index when the switchover occurs, it will stop building the index, and the other UCS instance will not continue to rebuild the index. In this case, Genesys recommends a full rebuild of the index.
- If the shared file system becomes unavailable when trying to update the index, the index might omit some data, or become corrupted or locked. To be notified of index update failures, you can set an SCS alarm on message 20105. Here is an example of message 20105 in the UCS log:
14:13:25.899 Std 20105 [Notifier-2] Failed to send notification 13 to Persistent.
In this case, Genesys recommends a full rebuild of the index.
- If the shared file system becomes unavailable, the search is not available.
- UCS will not be able to start if indexing is enabled and the shared file system where the index resides is not available. In this case, the shared file system must be made available, or UCS can be started by disabling indexation (by setting the enabled option in the index section to FALSE).
- If switchover occurs while the shared file system is not available, the switchover procedure will be reverted and both UCSs returned to their original states. During the switchover attempt, all UCS processing will be stopped. After switchover reversion, the original primary UCS will resume normal processing, except for indexation.
- If the primary UCS shuts down unexpectedly while the shared file system is not available, the successive attempts to switch the backup UCS to primary mode will fail. If such a failure occurs, the first critical recovery piece is either:
- Make the shared file system available to the backup UCS so it can finish the switching procedure.
- Disable indexation in the backup UCS application, and then restart the backup UCS. This UCS will start as the primary server without indexation.
When implementing High Availability (HA), you may want to first build the index onto a local drive (solid state drive, if possible). Then, move the index to a Storage Area Network/Network Attached Storage (SAN/NAS) with replication/snapshot functionality (a NetApp FAS storage system, for example). Each UCS will access the index as either network storage (NAS) or fiber channel (SAN).
File System Synchronization
In the case of disaster recovery, a High Availability solution must provide FTS service after switchover, but the loss of some of the indexed documents may be acceptable. A possible configuration is to configure the Primary and Backup UCS with the following:
- An independent storage path.
- A nightly synchronization of the file system from primary storage path to backup storage path. In this scenario, a switchover results in uninterrupted UCS service with regard to searchable content. A few hours will be missing from the searchable content, which should be acceptable for disaster recovery.
- The limitations regarding availability of the file system apply in the same manner as for a shared file system.
- You will need to schedule the recovery procedure described in the following section
Genesys recommends a full rebuild of the indexes, which should occur during off-production (recommended), or during slow contact center activity. Two methods are available to rebuild the indexes:
- Shut down all UCSs.
- Delete the current indexes from the local directory reflected in the storage-path configuration option.
- Start the UCSs with the option index-rebuild = if-new for each deleted index.
- The full build method is the most efficient, time-wise.
- If searches are expected by the clients during the build period, the response will not be accurate until the full rebuild is complete. This means service is not very useful until a majority of database content is rebuilt.
- Shut down all UCSs.
- Keep the index that was present before the switchover, or restore the most up-to-date backup.
- Start the UCSs with the option index-rebuild = on-start for each index that needs reconstructing.
- The full rebuild method obtains the most accurate search results immediately after UCS startup.
- Indexing will be significantly slower than a full build.