弹性搜索Fos Elastica包中的数据批量更新

时间:2016-12-13 08:10:26

标签: symfony elasticsearch foselasticabundle

我们的应用程序后端由Symfony 2.5.x构成。 我们使用MySQL 5.x和Elastic search 1.7.x来存储我们的数据。

在我们的应用程序中,我们将不同公司的数据存储在其各自的数据库中,即多租户方法。同样,我们将公司数据存储在弹性搜索中的各自别名中。

我们必须使用我们的自定义命令增强默认fos:elastica:populate命令,以便检查每个公司数据库并将其与相应的弹性搜索别名数据同步。

这一切都很好。到目前为止没问题。到目前为止,我们在弹性搜索中有近2000K的记录。

现在,由于其中一项要求,我们需要更新映射并在弹性搜索中存储另一个属性,即弹性搜索中另一列的存储值。

上次我们为所有现有别名添加新列并执行批量更新时,340K记录平均每小时更新一次。所以这次可能需要6个小时才能完成整个过程。

有没有办法在2小时内加快说明过程。

我们的MySQL数据库位于AWS RDS中,Heroku中的应用程序代码和弹性搜索位于Found Elastic搜索提供程序中。

非常感谢任何帮助/想法。

提前致谢!

0 个答案:

没有答案