我同时拥有4.2.0版的客户端和服务器。
我的“产品”文档类似于:
{
"Id": 2
"AggregatedId": 1,
// Other fields for filters
}
在汇总ID所在的字段上,我要执行不同的操作:我想检索符合某些条件的分页distinc AggregatedId。
我使用的索引是否扇出索引,它是具有唯一特征的法线地图索引:
Store("AggregatedId", FieldStorage.Yes);
并按照Raven documentation中的说明进行操作,直到存储要应用唯一性的字段为止,我应该能够执行分页而不使用SkippedResults信息。
我可以毫无问题地查询第一页,但是当我要求第二页和上一页时,我开始注意到我得到的结果包括第一页上已经存在的某些结果。同样,结果的数量也不正确,我得到的行比预期的多(例如,与过滤器匹配的32个项目,分页为25,在第一和第二页中仍然有25个项目...)。>
我正在构建的查询大致类似于:
var res = session.Advanced.DocumentQuery<Products_ByIndex.ReduceResult, Products_ByIndex>()
.WhereEquals("CategoryId", 1)
.WhereEquals("BrandId", 478)
.OrderBy("AggregatedId")
.Statistics(out QueryStatistics stats)
.Skip(25)
.Take(25)
.SelectFields<Products_ByIndex.ReduceResult>("AggregatedId").Distinct()
.ToList();
我想念什么吗?