flowpack / simplesearch-contentrepositoryadaptor
实现了通过 flowpack/simplesearch 包在 Neos CR 中搜索的桥梁。
4.0.3
2023-05-15 06:35 UTC
Requires
- flowpack/simplesearch: ^5.0 || dev-master
- neos/content-repository: ^7.0 || ^8.0 || dev-master
- neos/content-repository-search: ^4.0 || dev-master
- neos/flow: ^7.0 || ^8.0 || dev-master
- neos/neos: ^7.0 || ^8.0 || dev-master
- symfony/yaml: *
README
SimpleSearch ContentRepositoryAdaptor
基于 SimpleSearch 的 Neos 内容库搜索。本包是 Neos.ContentRepository.Search API 的实现。
使用非常简单。安装此包(Flowpack.SimpleSearch 将自动安装)。
运行以下命令
./flow nodeindex:build
之后,可以使用 EEL 中的 "Search" 助手或 PHP 中的 QueryBuilder 查询索引。
对于几百个节点,查询应该在几毫秒内完成。目前为止,我的最大测试是在大约 23000 个节点上,查询时间合理,约为 300ms。如果您有更多需要索引的节点,您可能需要考虑使用如 ElasticSearch 这样的 "真实" 搜索引擎。
使用 MySQL
要使用 MySQL,切换您的 Objects.yaml
中接口的实现,并按需配置数据库连接
Flowpack\SimpleSearch\Domain\Service\IndexInterface:
className: 'Flowpack\SimpleSearch\Domain\Service\MysqlIndex'
Neos\ContentRepository\Search\Search\QueryBuilderInterface:
className: 'Flowpack\SimpleSearch\ContentRepositoryAdaptor\Search\MysqlQueryBuilder'
Flowpack\SimpleSearch\Domain\Service\MysqlIndex:
arguments:
1:
value: 'Neos_CR'
2:
value: 'mysql:host=%env:DATABASE_HOST%;dbname=%env:DATABASE_NAME%;charset=utf8mb4'
properties:
username:
value: '%env:DATABASE_USERNAME%'
password:
value: '%env:DATABASE_PASSWORD%'
arguments
是索引标识符(可以自由选择)和 DSN。