如果我们在向elasticsearch插入文档时没有指定Id,则会自动生成Id。我也知道 Id 是具有预测模式的 Flake Id。
我的问题是这些生成的 Flake Id 是否足够连续,我可以对 _id 或 _uid 执行排序,并确定结果与插入的顺序相同?
自动生成_id不是顺序的。它是使用修改后的FlakeID算法生成的 URL 安全、Base64 编码的 GUID 。FlakeID 是一种去中心化算法,可生成 k 阶唯一 ID。
请注意,Elasticsearch 不再_id使用随机 UUID生成。
查看更多详情:
Elasticsearch 自动生成的 _id 是随机的,不是连续的,_uid 的情况也是如此。如果您想按顺序排序,那么简单的步骤是启用 _timestamp,以便 _timestamp 将插入文档的时间。
但是,_timestamp 会在文档更新时更新。因此,您可能需要创建新的日期字段,手动提供当前时间。
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html
| 归档时间: |
|
| 查看次数: |
3819 次 |
| 最近记录: |