我有一个包含几百万份文档的弹性搜索索引。构建索引的脚本从开始到结束需要几个小时。这使得根据生产数据库数据测试代码更改非常不切实际。
在制作方面,我有一百万件物品。每个都在服务器中编入索引。我发现我的代码错误地填充了其中一个字段。在我的本地开发环境中使用一组更小的测试数据,我的代码似乎已经解决了这个问题。但是,过去的经验表明我的用户做了疯狂的事情,而且我的测试数据很少涵盖每一个案例。 (有一些复杂的权限和其他相互作用的东西,以确定一个字段的简单布尔值,有时那些真正复杂的字段按照我在测试数据中没有预料到的方向。)
为了最大限度地减少生产索引,我想对生产数据库运行更新的elasticsearch索引代码,以确保它适用于所有用户。具体来说,我只是想针对一些我知道存在问题的用户数据运行它。我不能简单地将这些数据导出到我的本地开发环境,因为数据非常复杂。这就是问题所在。
我希望每次要测试更改时都避免重建单独的索引。 (显然,如果我构建一个单独的索引,然后不定期更新它,那么下次我测试时会有过时的数据。)
思考?想法?建议?坏笑话?我每次都要重建一个索引吗?我是否有任何捷径可以减少我等待索引完成的时间?