Elasticsearch for WebCenter Content Explained

While we will cover many of the benefits Elasticsearch can bring to your WebCenter environment, for a more concise description of these features, see our other post here: https://inspiredecm.com/webcenter-content-and-elastic-search-the-perfect-combination/

Elasticsearch Explained—

Elasticsearch is an open-source search engine based on the Lucene library that is highly available, clusterable, and automatically scalable.

While WebCenter Content offers a variety of search engine capabilities including database.metadata, database.fulltext, and oracletextsearch— With oracletextsearch offering features such as full text searches, relevancy ranking, and complex query structures; anyone who has ever been privy to a index rebuild of oracletextsearch knows this can take days to complete. Here at Inspired ECM, we have personally seen content items in the millions, with index rebuild ETAs greater than a month.  Multiple sources have stated that index collection rebuilds for Elasticsearch can take anywhere from 5x-10x less time than oracletextsearch on the same hardware. In addition to a quicker rebuild, Elasticsearch can be configured on separate hardware as to not impact the Content server’s performance.

Elasticsearch Shards:

Elasticsearch was designed with the intention of being highly scalable. While using non-scalable indexing solutions ( i.e. Oracle indexing), users often find the only way to scale their indexing capabilities is to upgrade server hardware (Ex. increasing RAM, upgrading the CPU, using a hard drive with faster read/write speeds, etc.). While Elasticsearch can be scaled this way, Elasticsearch’s underlying design (sharding), allows it to scale through another method— clustering.

Shards in Elasticsearch are indices that are broken into multiple parts. Each shard is its own Lucene index.

Shards are broken into two types, primary, and replica. Primary shards are the index that is broken into multiple parts, and replica shards are copies of the primary shards.

Ex.

The number of primary shards and replicas of them are defined during the configuration of Elasticsearch.

Say, initially, we had this configuration of two primary shards with a replica of each on a single node of Elasticsearch:

We then decide to add another node:

Elasticsearch automatically adjusts itself for high availability and splits the workload across the cluster. This configuration scales infinitely (and with differing amounts of shards than that listed in the example), but ultimately can only be spread as wide as the number of primary shards and replicas.

How does this integrate into WebCenter Content?—

After installing and configuring Elasticsearch, new menu options for Elasticsearch will appear in WebCenter Content. These new menu items will allow you to configure shards and replicas based on security group in WCC, migrate WCC metadata to Elasticsearch, and change general configuration settings for Elasticsearch. After configuring and migrating WCC metadata to ES, Elasticsearch will take over.

Full details on this can be found here: https://docs.oracle.com/en/middleware/webcenter/content/12.2.1.4/webcenter-content-admin/managing-search-features.html#GUID-BBD43728-6AF7-4E04-903A-28C4CCE34C40

Monitoring Elasticsearch—

Monitoring Elasticsearch is done through its sister software, Kibana. Kibana is a piece of software that runs queries against Elasticsearch in order to generate data. This data can then be easily turned into rich and intuitive graphs, pie charts, etc. to give an easy-to-consume overview of how your Elasticsearch environment is being used. These queries and charts can be compiled into dashboards to allow for quick user consumption of large amounts of data. Additionally, in the integration between WebCenter Content and Elasticsearch, Kibana offers over a dozen metrics on your WebCenter environment that can be turned into rich graphics.

We recommend you check out how amazing Kibana looks on their site: https://www.elastic.co/kibana?ultron=B-Stack-Trials-AMER-US-E-Exact&gambit=Elasticsearch-Kibana&blade=adwords-s&hulk=cpc&Device=c&thor=kibana&gclid=Cj0KCQiA7NKBBhDBARIsAHbXCB4ZzUsHD5uex7kcbiN1otBorJWggx6S-JgmPiWl_z6YtQc_i7-Wj54aAm9iEALw_wcB