我有一个JSON文件数据,该数据连续更新(每小时更新一次)。将这些数据与弹性搜索的索引同步的最佳方法是什么?
此刻我在做什么? 我只是删除并再次添加索引,这对于我的应用程序的实时版本不是一个好方法。
您会建议哪种最佳方法?
答案 0 :(得分:1)
我不认为您的方法是完全错误的。但是,如果您需要保留可用性,则最好使用index aliases。将别名视为指向索引的符号链接。从文档中:
索引别名API允许对别名使用名称进行别名,所有API都会自动将别名转换为实际的索引名称。
最初,您将文档(从JSON文件)索引到某个索引,假设data-2019-04-29-08-00
(基于日期和时间命名),然后为此索引创建别名data
。您将所有查询定位为data
别名。当您的数据(JSON文件)在下一个小时更改时,您将数据索引到新索引data-2019-04-29-09-00
中,并更改了data
别名以指向该新索引。现在所有查询将与新数据一起使用。这样,无论对文档建立索引需要花费多长时间,您都不会遭受任何中断,因为更改别名是一项非常快捷的操作。