neos / content-repository-search
Common code and interface for a Neos CR search implementation
Fund package maintenance!
shop.neos.io/neosfunding
Installs: 340 563
Dependents: 4
Suggesters: 0
Security: 0
Stars: 10
Watchers: 11
Forks: 22
Open Issues: 6
Type:neos-package
Requires
- php: >=7.3
- neos/content-repository: ^4.0 || ^5.0 || ^7.0 || ^8.0 || dev-master
- neos/flow: ^5.1 || ^6.0 || ^7.0 || ^8.0 || dev-master
Replaces
- typo3/typo3cr-search: 4.1.3
README
A Neos Content Repository search common package used to implement concrete indexing and search functionality.
Related packages
Some of the related packages are:
Flowpack.ElasticSearch.ContentRepositoryAdaptor
To use Elasticsearch for indexing and searching.
Flowpack.SimpleSearch.ContentRepositoryAdaptor
Uses a SQLite database for indexing and search and thus can be used without additional dependencies.
Flowpack.SearchPlugin
A plugin to offer search functionality to users via Fusion rendering.
Inner workings
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.