elasticsearch / solr search in ezpublish 2014.11

时间:2015-06-16 12:31:54

标签: ezpublish

使用eZ Publish community 2014.11,我想索引Elastic Search或Solr(或类似的索引引擎)中的内容,以便:

  • 对内容执行全文搜索(关于内容的访问权限和对象关系提取)
  • 对自定义控制器中的索引进行自定义调用,以绕过有关对不同类属性进行排序的mysql内容存储库限制

执行类似ezfind 2014.11的首选方法是什么?

注意:

  • 我没有使用遗留堆栈,尽量避免使用遗留堆栈,以便进一步迁移,但如果我必须使用它。
  • 目前,我打算使用此intallation documentation ezfind LS 5.2
  • 围绕这些问题herehere
  • 进行了一些活动
  • 有一个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

```

1 个答案:

答案 0 :(得分:1)

到目前为止,我发现的最好方法是从symfony调用ezFind,如下所述:

http://share.ez.no/blogs/carlos-revillo/ez-find-with-symfony-controller-and-twig-templates