我正在尝试创建一个索引,该索引将允许我按降序检索前n个项目。

似乎没有选择按日期对索引进行排序?

我需要能够使用带有Take(n)子句的索引进行查询,以获取最后的n项。

public class ConcernStateByDateIndex : AbstractIndexCreationTask<ConcernState>
{
    public ConcernStateByDateIndex()
    {
        this.Map = concerns => from concern in concerns
                               select concern.EntryDate;
        this.Sort(_ => _.EntryDate, SortOptions.?????)
    }
}

最佳答案

您从不对索引进行排序,而是在查询索引时使用查询对结果进行排序。索引中的Sort选项是必需的,以告知RavenDB该字段是否为数字,以便从查询进行排序。

查询排序如下所示:

session.Query<ConcernState>().OrderByDescending(x => x.EntryDate);

10-06 16:18