Introduction to the Sophora Indexing Service

Get an overview over the Sophora Indexing Service.

The Sophora Indexing Service takes all Sophora documents and indexes them in SolrCloud.

SolrCloud plays a crucial role in many use cases like building a website search or automatically populating an index page with documents that match certain criteria.

In Sophora version 5 the Sophora Indexing Service replaces the embedded Solr indexing component. Sophora 4 can be used to migrate to the Sophora Indexing Service, since both approaches can be used in Sophora 4.

Benefits of the Sophora Indexing Service and Shortcomings of the Embedded Solr Servers

Sophora has long relied on the advantages of Solr as a search engine. The ability to create custom Solr cores is especially useful. The Solr cores can be enriched with all the information needed to build fast queries.

Since an embedded Solr Server is part of every single Sophora Server, the indexing must be executed multiple times. This uses too many resources and can lead to inconsistencies between the Servers in some circumstances. Also, current versions of Solr no longer support embedding the Solr Server into other applications.

The Sophora Indexing Service is a standalone Java application. It can be operated in a cloud environment or on dedicated servers. The Sophora Indexing Service is connected to the Sophora Primary Server and indexes the Sophora documents in SolrCloud. Inconsistencies between Solr indices of different servers are a thing of the past.

The Sophora indexing Service utilizes Redis to manage its internal data structures.

All involved components can be scaled horizontally and independent of one another, and work fail-safe with several self-coordinating instances.

Since the Sophora Primary Server is no longer responsible for the Solr indexing, the Sophora editors benefit from a better overall performance.

Overview of the Components

Here's a schematic overview of all involved components:

Schematic Overview of Sophora's Search Indexing Service
Schematic Overview of Sophora's Search Indexing Service (Image: subshell/CC BY)

Advantages include:

  1. searches become more efficient and scale better
  2. Sophora Servers are relieved
  3. the cloud infrastructure is better supported
  4. Solr is up to date
  5. Sophora Servers and Solr are decoupled
  6. redundant indexing is a thing of the past


A word about SISI. Internally, we have given the Sophora Indexing Service the nickname "SISI". The name is based on the abbreviation of the project in our project management tool "JIRA". And then, of course, there was the Austrian Empress Elisabeth with the same nickname. We use "SISI" in the logo of the module. If the documentation uses "SISI" in some places or you see a crown on the console when starting the program, you know why. 👑

Last modified on 2/22/21

The content of this page is licensed under the CC BY 4.0 License. Code samples are licensed under the MIT License.