我正忙着查看elasticsearch,寻找我正在着手的一个新项目。我目前运行的是Symfony2.5,带有最新的FOSElasticaBundle等等。我正在对捆绑包的性能进行一些基准测试(我知道elastic本身非常快),但我遇到了一个小问题,如果捆绑包的文档更冗长的话,这个小问题实际上可能很容易解决。
我的实际问题很简单,那就是如何从Elastica本身返回响应的“原始”数组,而不是返回Doctrine对象的数组(我相信它是通过DB查询填充的)?包括响应时间、最大得分等。FOSElasticaBundle的文档在这些主题上相当含糊……
当你已经有了从elastic中寻找的所有信息时,必须重新查询数据库似乎有点适得其反,而且速度很慢?还是有什么很明显的地方我在这里漏掉了?
谢谢你的帮助!
发布于 2014-06-06 15:34:59
找到答案了。看起来,少量的睡眠可以让人走得很远。
如果其他人试图弄清楚这个问题,在经历了整个hydrate: false的事情之后,什么都不是(顺便说一下,这与这个问题没有任何关系)。
只需使用该服务:
获取Elastica类型实例的$this->get('fos_elastica.index.app.foo')->search($query)。
$this->get('fos_elastica.finder.app.foo')->find($query)获取Doctrine实体的数组。
希望这对某些人有帮助。
https://stackoverflow.com/questions/24070164
复制相似问题