2015-06-26 76 views
1

如果我们在将文档插入到elasticsearch时未指定Id,则会自动生成Id。我也明白,Ids是片状Ids,它具有预测模式。ElasticSearch是否自动生成ID顺序?

我的问题是这些生成的Flake ID的顺序是否足够,我可以在_id或_uid上执行排序,并确保结果与插入的顺序相同?

回答

1

Elasticsearch自动生成_id是随机的,不是顺序的,_uid是相同的情况。如果您想按顺序排序,那么简单的步骤是启用_timestamp,这样_timestamp将有时间插入文档。

但是,更新文档时会更新_timestamp。因此,您可能需要手动创建提供当前时间的新日期字段。

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html

+0

即使我曾与毫秒一个单独的时间戳字段,有机会的话,我可以有多个文档具有相同的时间戳。在这种情况下,我需要更细粒度的级别对文档进行排序。 –

+0

如果是这样的话,你必须先自己知道哪一个是先写的。 – progrrammer