我正在忙着检查我正在开始的新项目的弹性搜索。我目前正在运行Symfony2.5,使用最新的FOSElasticaBundle以及所有这些。我正在对捆绑的性能做一些基准测试(我知道弹性本身非常快)但是我遇到了一个实际上很容易解决的小问题,如果只是捆绑的话#39 ;文档更详细。
我的实际问题是如何,而不是返回一个Doctrine对象数组(我相信通过数据库查询填充),而不是返回一个" raw" Elastica本身的回应数组?包括响应时间,最大分数等.FOSElasticaBundle的文档对这些主题非常模糊......
如果您已经掌握了弹性所需的所有信息,那么重新查询数据库似乎有点适得其反,而且速度慢?或者有什么非常明显的我在这里失踪了吗?
感谢您的帮助!
答案 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实体。
希望这有助于某人。