2015-06-26 106 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