ElasticSearch Long ID 和搜索性能

ElasticSearch Long ID and search performance

使用亚马逊的 ElasticSearch 作为搜索引擎。最近与一位开发人员讨论了 Upsert 策略。

在我看来(我不是一个经验丰富的 ES 开发人员)有一个复杂的密钥是可以的 _id,例如Result-1Data-2 等。这将有助于更新插入和重复数据删除。但有人担心关键数据类型。长键,如字符串、Sha1-digest、十六进制等——可能会影响搜索性能,最好有一些短键或将其传递给 ES 而无需预定义 _id 并使用文档正文或某些特定属性进行重复数据删除。

我还没有读过关于 ID 性能的任何内容 — 从官方文档到 medium/blogs。

关注是否正确,我应该关注吗?

谢谢!

使用自定义 ID 字段的问题在于索引阶段,因为使用自动生成的字段,Elasticsearch 可以安全地索引文档而无需查询唯一性。如果你对你的索引率没问题,那么你应该没问题。

如果您查看 Tune for Search speed 文档,没有关于使用自动生成的 ID 的建议。

相关阅读。