9

我正忙着为我开始的一个新项目检查 elasticsearch。我目前正在运行 Symfony2.5,带有最新的 FOSElasticaBundle 等等。我正在对捆绑包的性能进行一些基准测试(我知道弹性本身非常快),但是我遇到了一个实际上很容易解决的小问题,如果捆绑包的文档更详细的话。

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

当您已经从弹性中获得了所有要查找的信息时,必须重新查询数据库似乎有点适得其反并且速度很慢?还是我在这里遗漏了一些非常明显的东西?

谢谢你的帮助!

4

1 回答 1

16

找到了答案... 一点点睡眠似乎可以让一个人走很长的路。

如果其他人试图弄清楚这一点,在经历了整个hydrate: false事情之后(顺便说一句,这与这个问题没有任何关系)。

只需使用该服务:

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

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

希望这可以帮助某人。

于 2014-06-06T07:34:58.520 回答