typo3 / typo3cr-search
4.1.3
2024-04-03 10:02 UTC
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
一个用于实现具体索引和搜索功能的Neos内容仓库搜索通用包。
相关包
一些相关包包括
Flowpack.ElasticSearch.ContentRepositoryAdaptor
用于使用Elasticsearch进行索引和搜索。
Flowpack.SimpleSearch.ContentRepositoryAdaptor
使用SQLite数据库进行索引和搜索,因此无需额外的依赖项。
Flowpack.SearchPlugin
一个插件,通过Fusion渲染为用户提供搜索功能。
内部工作原理
NodeIndexingManager监听Neos内容仓库和PersistenceManager发出的信号,如果realtimeIndexing.enabled
设置为true
(默认为true)。
nodeAdded
、nodeUpdated
、afterNodePublishing
触发indexNode()
nodeRemoved
触发removeNode()
allObjectsPersisted
触发flushQueues
在单个请求期间,只有达到indexingBatchSize
时,索引更改的队列才会被刷新(请参阅flushQueuesIfNeeded()
)。
如果在操作队列刷新的情况下,IndexingManager
将使用NodeIndexer
运行indexNode()
和removeNode()
。
如果realtimeIndexing.enabled
设置为false
,节点索引仅在手动构建时更新。