Store Index and search
The message store supports three index and search services: ISS, DSE Solr, and Elasticsearch. Note that DSE Solr is no longer available starting with the Messaging Server 8.1 release. Classic store supports ISS and Elasticsearch. DSE Cassandra store supports Solr and Elasticsearch. Open source Cassandra store supports Elasticsearch. The classic message store does not enable any index and search services by default. When index and search service is not enabled, IMAP uses brute force for body search. Brute force message body search is very I/O intensive. Consider using an index and search service when search performance is crucial.
When either Elasticsearch or DSE Solr is enabled, the message store uses ISC to convert binary message content to text before indexing. Therefore, ISC must be configured on when either Elasticsearch or DSE Solr is enabled. ISS has built-in content conversion, so ISC is not required.
Indexed Search Converter (ISC) is a Java and http-based server that converts message content to text for index and search purposes. ISC is included in the Messaging Server package and uses Apache Tika to detect and extract text content from email messages. The converted texts are cached. On indexing, the message store looks up the text content in the cache. If the text is found, the message store reads it from the cache. Otherwise, the message store sends the meta data to ISC. ISC reads the message content, converts it to text, and writes the text to the cache.
In classic store, ISC uses the file system to cache the text content. In Cassandra store, ISC uses Cassandra to store the cache content.
ISC requires read access to the message store in order to convert the content of a message. When used with classic store, ISC can be co-located with other message store processes or can run on a separate server with shared filesystem access to message store data.
Review the ISC Options for more information about configuring ISC.
Elasticsearch is a distributed search engine based on Lucene. It provides full text search services with built-in high availability, replication, horizontal scaling, and automatic load balancing. When Elasticsearch is enabled, the message store sends the message content to Elasticsearch for indexing when messages are appended to the mailboxes; the IMAP server sends search queries to Elasticsearch to perform textual searches.
To enable elasticsearch:
elasticsearch.hostlistto a list of Elasticsearch hosts
elasticsearch.numshardsto the number of shareds
elasticsearch.numreplicasto the number of replicas
elasticsearch.storesourceto false if storage space is limited
Review the Elasticsearch options for more information about configuring use of Elasticsearch.
Datastax Enterprise (DSE) Solr is an index and search component provided by Datastax. DSE Solr index and search is enabled by default when Cassandra message store is enabled prior to Messaging Server 8.1. Messaging Server provides the FIT plugin to prepare the message content for indexing. FIT must be installed on all the Solr nodes.
Oracle Communications Indexing and Search Service (ISS) is a separate index and search service developed by Oracle. The message store uses Glassfish MQ event notification services to send data for indexing to ISS and ISS re-synchronizes with the Message Store over IMAP. Starting with Messaging Server 18.104.22.168, ISS is deprecated and support for ISS may be removed in a future release of Messaging Server. Starting with Messaging Server 8.1, ISS is no longer included with Messaging Server and use of a previous version of ISS is only supported for the purpose of migrating from ISS to Elasticsearch.
Review the Indexer Options for more information about configuring use of ISS.