FOSElasticaBundle和Doctrine Hydration

时间:2014-06-05 20:58:43

标签: symfony doctrine-orm elasticsearch foselasticabundle

我正在忙着检查我正在开始的新项目的弹性搜索。我目前正在运行Symfony2.5,使用最新的FOSElasticaBundle以及所有这些。我正在对捆绑的性能做一些基准测试(我知道弹性本身非常快)但是我遇到了一个实际上很容易解决的小问题,如果只是捆绑的话#39 ;文档更详细。

我的实际问题是如何,而不是返回一个Doctrine对象数组(我相信通过数据库查询填充),而不是返回一个" raw" Elastica本身的回应数组?包括响应时间,最大分数等.FOSElasticaBundle的文档对这些主题非常模糊......

如果您已经掌握了弹性所需的所有信息,那么重新查询数据库似乎有点适得其反,而且速度慢?或者有什么非常明显的我在这里失踪了吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:16)

找到答案......一点点的睡眠可以让人看起来很长。

如果有其他人试图解决这个问题,那么在完成整个hydrate: false之后会发生什么事情(顺便说一下,这与问题无关)。

只需使用该服务:

$this->get('fos_elastica.index.app.foo')->search($query)获取Elastica Type实例。

$this->get('fos_elastica.finder.app.foo')->find($query)获取一系列Doctrine实体。

希望这有助于某人。