ezpublish 2014.11 中的 elasticsearch / solr 搜索
elasticsearch / solr search in ezpublish 2014.11
使用 eZ Publish community 2014.11
,我想在 Elastic Search 或 Solr(或类似的索引引擎)中索引内容,以便:
- 对内容执行全文搜索(尊重内容的访问权限和对象关系提取)
- 对自定义控制器中的索引进行自定义调用,以绕过 mysql 内容存储库有关按不同 类 属性排序的限制
执行类似 ezfind 的首选方法是什么 2014.11
?
备注:
- 我没有使用遗留堆栈并尽量避免使用它以促进进一步的迁移,但如果必须的话我会使用它。
- 目前,我打算使用这个intallation documentation ezfind LS 5.2
- 围绕这些问题有一些activity here and here
- 有个bundle by netgen
- 在以前的版本中,我曾经使用 ezfind 作为
2014-11
发行版中可用的版本,但我在这个版本中也看到了 elasticsearch 包。我很快尝试使用它,但出现以下错误:
```
php ezpublish/console ezpublish:elasticsearch_create_index --env=dev
PHP Fatal error: Call to undefined method eZPublishCorePersistenceLegacyContentSearchHandler_000000007c8f5baa000000006bdeda53::setCommit() in /var/www/ez5/vendor/ezsystems/ezpublish-kernel/eZ/Publish/Core/Persistence/Cache/SearchHandler.php on line 122
PHP Stack trace:
PHP 1. {main}() /var/www/ez5/ezpublish/console:0
PHP 2. Symfony\Component\Console\Application->run() /var/www/ez5/ezpublish/console:27
PHP 3. eZ\Bundle\EzPublishCoreBundle\Console\Application->doRun() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:124
PHP 4. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/ez5/vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishCoreBundle/Console/Application.php:41
PHP 5. Symfony\Component\Console\Application->doRun() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:96
PHP 6. Symfony\Component\Console\Application->doRunCommand() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:193
PHP 7. Symfony\Component\Console\Command\Command->run() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:896
PHP 8. eZ\Bundle\EzPublishElasticsearchBundle\Command\ElasticsearchCreateIndexCommand->execute() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:252
PHP 9. eZ\Publish\Core\Persistence\Cache\SearchHandler->setCommit() /var/www/ez5/vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishElasticsearchBundle/Command/ElasticsearchCreateIndexCommand.php:61
```
到目前为止我发现的最好方法是从 symfony 调用 ezFind,如下所述:
http://share.ez.no/blogs/carlos-revillo/ez-find-with-symfony-controller-and-twig-templates
使用 eZ Publish community 2014.11
,我想在 Elastic Search 或 Solr(或类似的索引引擎)中索引内容,以便:
- 对内容执行全文搜索(尊重内容的访问权限和对象关系提取)
- 对自定义控制器中的索引进行自定义调用,以绕过 mysql 内容存储库有关按不同 类 属性排序的限制
执行类似 ezfind 的首选方法是什么 2014.11
?
备注:
- 我没有使用遗留堆栈并尽量避免使用它以促进进一步的迁移,但如果必须的话我会使用它。
- 目前,我打算使用这个intallation documentation ezfind LS 5.2
- 围绕这些问题有一些activity here and here
- 有个bundle by netgen
- 在以前的版本中,我曾经使用 ezfind 作为
2014-11
发行版中可用的版本,但我在这个版本中也看到了 elasticsearch 包。我很快尝试使用它,但出现以下错误:
```
php ezpublish/console ezpublish:elasticsearch_create_index --env=dev
PHP Fatal error: Call to undefined method eZPublishCorePersistenceLegacyContentSearchHandler_000000007c8f5baa000000006bdeda53::setCommit() in /var/www/ez5/vendor/ezsystems/ezpublish-kernel/eZ/Publish/Core/Persistence/Cache/SearchHandler.php on line 122
PHP Stack trace:
PHP 1. {main}() /var/www/ez5/ezpublish/console:0
PHP 2. Symfony\Component\Console\Application->run() /var/www/ez5/ezpublish/console:27
PHP 3. eZ\Bundle\EzPublishCoreBundle\Console\Application->doRun() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:124
PHP 4. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /var/www/ez5/vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishCoreBundle/Console/Application.php:41
PHP 5. Symfony\Component\Console\Application->doRun() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:96
PHP 6. Symfony\Component\Console\Application->doRunCommand() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:193
PHP 7. Symfony\Component\Console\Command\Command->run() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:896
PHP 8. eZ\Bundle\EzPublishElasticsearchBundle\Command\ElasticsearchCreateIndexCommand->execute() /var/www/ez5/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:252
PHP 9. eZ\Publish\Core\Persistence\Cache\SearchHandler->setCommit() /var/www/ez5/vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishElasticsearchBundle/Command/ElasticsearchCreateIndexCommand.php:61
```
到目前为止我发现的最好方法是从 symfony 调用 ezFind,如下所述:
http://share.ez.no/blogs/carlos-revillo/ez-find-with-symfony-controller-and-twig-templates