【发布时间】:2017-05-23 15:58:41
【问题描述】:
我刚刚安装了一个带有 elastica 包的 symfony2 项目,elasticsearch 正在运行。 我已经配置了 fos_elastica,以便我的实体(例如汽车)将在 elasticsearch 中自动重新索引。 一切正常。
这是它的工作原理:
在我的控制器中
$em->flush();
那么当实体被持久化到数据库中时,它会调用
$this->dispatchPostFlushEvent();
现在在 ContainerAwareEventManager.php 中,我可以找到方法调度事件,该事件将引发事件以在弹性搜索中重新索引实体(在 dispatchEvent() 中)
我期望做的是手动而不是自动引发此事件
我的意思是这种用法:
$em->flush();
$em->flushAndReindexEs();
或者
$em->flush()
$this->raiseEvent('reindex-elastic-entity', $em, array('title' => 'string')
有没有人发现做这种事情的简单方法?
我继续调查 dispatchEvent。
任何帮助都会有所帮助;) 谢谢
【问题讨论】:
标签: symfony elasticsearch foselasticabundle