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 web application
alongside the Content Engine. A copy of Solr is bundled with the Content Engine, and if you
follow the standard installation procedure described in the Escenic Content Engine Installation Guide, then a
solr
instance is 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 service
-
The indexer web service runs inside the Content Engine. It maintains a change log for all content managed by the Content Engine. Every time a content item is added, modified or deleted, the indexer web service adds entries to its log containing the URIs of the documents affected by the change.
- indexer web application
-
The
indexer
web application runs inside an application server together with thesolr
web application. Every five seconds, it submits a requests to the indexer web service and obtains the URIs of all 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
also runs inside an application server. It generates and maintains an index based on the documents submitted by theindexer
. It also responds to any search requests submitted to it, either from Content Studio clients or from publication web applications.