У меня есть и клиент, и сервер в версии 4.2.0.
Мой документ "Продукт" выглядит примерно так:
{
"Id": 2
"AggregatedId": 1,
// Other fields for filters
}
Где агрегированный идентификатор - это поле, в котором яЯ выполняю отчетливо: я хочу получить выгруженный distinc AggregatedId, соответствующий определенным условиям.
Я использую индекс NOT индекс разветвления, это индекс карты нормалей с единственнымиметь характеристику:
Store("AggregatedId", FieldStorage.Yes);
и, как объяснено в документации Raven , до тех пор, пока не будет сохранено поле, к которому я применяю отчет, я должен иметь возможность выполнять нумерацию страниц без использованияинформация 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();
Я что-то упустил?