A Neos Content Repository search common package used to implement concrete indexing and search functionality.
Some of the related packages are:
To use Elasticsearch for indexing and searching.
Uses a SQLite database for indexing and search and thus can be used without additional dependencies.
A plugin to offer search functionality to users via Fusion rendering.
The NodeIndexingManager listens to signals emitted from Neos Content Repository and the PersistenceManager if
realtimeIndexing.enabled
is true
(which it defaults to).
nodeAdded
,nodeUpdated
,afterNodePublishing
triggerindexNode()
nodeRemoved
triggersremoveNode()
allObjectsPersisted
triggersflushQueues
During a single request the queue with index changes is only flushed once the indexingBatchSize
has been reached (see flushQueuesIfNeeded()
).
In case the operation queues are flushed, the IndexingManager
in turn uses the NodeIndexer
to run indexNode()
and removeNode()
respectively.
If realtimeIndexing.enabled
is false
, the node index is only updated when built manually.