是否可以通过创建 sequence/date 对 Lucene 搜索结果进行排序?

Is it possible to sort Lucene search results by creation sequence/date?

简单直接的问题: 是否可以根据创建结果对搜索结果进行排序 sequence/date?添加一个日期字段并按它排序是一种选择。 但是,索引已经存在并且包含大量我想排序的文档(一些)。

不要将 docID 用于任何事情(除了在查询后获取文档)。它 不是 顺序的,如果您进行更新(实际上是先删除再添加),它不一定是稳定的。

只需添加一个表示日期的字段并在查询中按该字段排序。

将其设为数字​​字段并将数字格式化为 yyyyMMddhhmmss。如果您需要较低的精度,只需从右边删除一些数字。或者,如果您想要更高的精度,只需存储刻度值。

扩展方法 FTW!

    public static long AsYMDHMS(this DateTime date)
    {
        return
            (date.Year * 10000000000) +
            (date.Month * 100000000) +
            (date.Day * 1000000) +
            (date.Hour * 10000) +
            (date.Minute * 100) +
            date.Second;
    }