如何在 Elasticsearch 中将 id 设置为文档的唯一值

How to set id as an unique value for a document in Elasticsearch

如何在持久化 Elasticsearch 中的文档之前将其设置为唯一值 (say jNsY9nYBnpr12MYNt7D0 or i9sY9nYBnpr12MYNtrAm)。我们应该使用什么实用函数来自动生成上述形式的字符串

当您使用 Spring Data Elasticsearch 保存实体时,执行保存的方法将 return 保存的实体。如果 @Id 字段在保存前设置为 null,returned 实体会将其设置为 Elasticsearch 创建的值。

但正如@Val 所指出的:不要这样做,没有必要这样做。

如果您仍然想自己创建 id,您可以使用 org.elasticsearch.common.UUIDs#base64UUID 方法,这就是 Elasticsearch 使用的方法。