【发布时间】:2015-07-24 18:29:00
【问题描述】:
我在 Elastic Search 中有一个现有的映射,这是在现场制作中。目前,每当我更新映射时,其他人都必须手动删除索引并再次插入重新索引所有内容。我们希望 Elastic Search 能够自动处理更新/更改的映射。我们如何使用 Java 实现这一点?
编辑
我们在应用程序启动期间加载映射的过程是这样的:
- 检查是否存在现有映射
- 如果不加载新映射。
如您所见,这非常简单,因此它永远不会拾取更改的字段/更新的映射。每次应用程序启动时重新加载映射是不是一个坏主意?这有一些开销吗?是否有替代程序来说明更新的映射?更重要的是,这是正确的做法吗?
【问题讨论】:
-
如果您检查现有映射,为什么不检查现有索引?插入第一个文档的那一刻,您将拥有一个映射。一种建议的解决方案是存储映射的 sha1 键,并在开始检查所提供映射的 sha1 键是否仍然相同。这仅在您不动态添加新字段时才有效。这来自其他评论中提到的链接。 pea53.com/2014/03/versioning-elasticsearch-indices
标签: java search elasticsearch mapping reindex