Search Engine Configuration and Management
The
Content Engine's
search functionality is provided by Apache Solr, a Java-based open source
search engine that runs as a standalone web application in its own
application server. A copy of Solr used to be bundled with older versions
of the
Content Engine,
but due to changes in Solr this is no longer the case. The
Escenic Content
Engine Installation Guide includes a description of how to install
Solr for use with the
Content Engine.
A solr
instance must be deployed alongside every
Content Engine
you deploy. All
Content Studio
search functions depend on Solr, and Solr can also be used to drive the
search functions in your publication web applications.
The use of an external search engine that is completely decoupled from the Content Engine ensures a high degree of flexibility. It is possible to configure the search engine and the other components involved in providing search functions in many different ways to meet differing requirements. The components involved in providing the Content Engine's search functions are:
- indexer web services
-
Two indexer web services are provided by the Content Engine for logging changes to content managed by the Content Engine. The indexer web services are called:
index
-
This web service helps to maintain the internal index used by Content Studio and other editorial systems. Every time any content item is added, modified or deleted, it adds an entry to its change log. The entry contains the URIs of the documents affected by the change.
presentation-index
-
This web service helps to maintain the external index used by the presentation system. It works in exactly the same way as
index
except that it does not log updates to staged content items, since staged content items (unpublished revisions of published content items) should not be visible to web site visitors.
- indexer web application
-
An
indexer
web application runs inside an application server. Every five seconds, it submits a requests to one of the indexer web services and obtains the URIs of the documents that have changed in the last 5 seconds. It then submits requests to the Content Engine for these documents, passes them through an XSL filter to prepare them for indexing and posts the results tosolr
. - solr
-
solr
runs inside its own application server. It generates and maintains an index based on the documents submitted by itsindexer
. It also responds to any search requests submitted to it, either from Content Studio clients or from publication web applications.