Search Manager
The Search Manager is responsible for indexing and searching for elements from FirstSpirit stores (e.g. page, sections and media files). The elements are written to or removed from the search index when they are created, edited or deleted.
Full text indexing of a large amount of data (such as several extensive documents from the FirstSpirit media store) is time and CPU-intensive. The amount of documents indexed simultaneously can be controlled globally via the settings in the fs-server.conf configuration file:
- ThreadQueue.DEFAULT.maxRunning: for the content and variables of store element objects.
- ThreadQueue.LOW.maxRunning: for documents from the media store (e.g. PDF files).
Attributes
IndexingStarted: number of elements created, changed or deleted in the last 60 seconds that have to be indexed using the Search Manager. These actions are queued and processed as low priority.
DocumentsIndexed: number of elements that were re-indexed within the last 60 seconds (indexing has been completed).
SearchStepsExecuted: every search consists of a number of different search steps (3 to 5 steps per search). The value here is the number of search steps executed within the last 60 seconds.
Full text indexing of the media store: documents from the FirstSpirit media store are also indexed so that a full text search is possible within the documents. For technical reasons, not all document types are supported. (Complete) indexing is therefore not always possible. |
Operations
void pause(): this method interrupts the indexing of project content. Indexing can then be resumed at a later time by executing the resume() method. These two methods can be set to interrupt indexing briefly while importing a large volume of data into a FirstSpirit project, for instance.
void resume(): this method resumes indexing of project content after it was previously paused (see pause()).
void rebuildIndex(projectID): this method initiates manual updating of the search index for a project. The corresponding project ID is passed. When executing the method, the search index is not completely rebuilt. Information is just added to the existing index. If the search index has become corrupted, the method clearIndex(projectID) should be executed first.
boolean clearIndex(projectID): using this method,thesearch index of a project can be deleted (e.g. because it has become corrupted). A new empty index is then created for the project. To re-index the project, the method rebuildIndex(projectID) should then be executed.