所以我遇到了很多大型XML文件的情况,我希望这些数据能够在elasticsearch上实现。
当前方式
建议方式
这意味着在500,000个项目中,我只需添加5,000个已更改的项目,例如,不重复500,000个项目。
问题
在这样的场景中,如何确保它们是同步的?例如,如果弹性搜索被擦除会发生什么,我怎么能告诉我的程序它需要再次添加整个批次。有没有办法在弹性搜索上使用某种sycronisation键,或者可能是更好的方法?
答案 0 :(得分:1)
这是我推荐的......
将存储的字段添加到您的类型中以存储类似MD5
使用“扫描/滚动”从ES
在您的支持数据集导出ID和哈希
使用类似MapReduce之类的东西来“加入”各自的导出ID 组
通过比较散列或发现存在差异 缺少密钥,索引/更新
哈希仅在想要检测文档更改时才有用。这也假设您将ES的ID保留在后备存储中,或者您自己分配ID。