https://github.com/flowpack/flowpack.simplesearch.contentrepositoryadaptor
Adaptor for the Neos CR, based on the SimpleSearch package
https://github.com/flowpack/flowpack.simplesearch.contentrepositoryadaptor
neoscms
Last synced: 12 months ago
JSON representation
Adaptor for the Neos CR, based on the SimpleSearch package
- Host: GitHub
- URL: https://github.com/flowpack/flowpack.simplesearch.contentrepositoryadaptor
- Owner: Flowpack
- License: mit
- Created: 2014-04-20T19:33:03.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T14:22:40.000Z (about 1 year ago)
- Last Synced: 2025-03-29T05:09:55.693Z (12 months ago)
- Topics: neoscms
- Language: PHP
- Homepage:
- Size: 148 KB
- Stars: 23
- Watchers: 5
- Forks: 24
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://insight.sensiolabs.com/projects/f65658fd-394a-4cd3-8c7b-639680eb4404)
[](https://codeclimate.com/github/kitsunet/Flowpack.SimpleSearch.ContentRepositoryAdaptor)
SimpleSearch ContentRepositoryAdaptor
=====================================
A search for the Neos Content Repository based on the SimpleSearch. This package
is an implementation of the Neos.ContentRepository.Search API.
Usage is pretty easy. Install this (and Flowpack.SimpleSearch will follow).
Run the command:
./flow nodeindex:build
After that use the "Search" helper in EEL or the QueryBuilder in PHP to query the
index.
With a few hundred nodes queries should be answered in a few milliseconds max.
My biggest test so far was with around 23000 nodes which still got me reasonable
query times of about 300ms.
If you have more Nodes to index you should probably consider using a "real" search
engine like ElasticSearch.
Using MySQL
-----------
To use MySQL, switch the implementation for the interfaces in your `Objects.yaml`
and configure the DB connection as needed:
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%'
The `arguments` are the index identifier (can be chosen freely) and the DSN.