分页比较器的谓词问题



在 IMap 上应用时,分页谓词,而不是对整个集合进行排序。它仅对给定的页面大小进行排序。但我希望先对集合进行排序,然后应用分页并提供结果。

我使用以下构造函数:

PagingPredicate pagingPredicate = new PagingPredicate(predicate, comparator, 100);
Collection<Map<String, Object>> pagingResults = data.values(pagingPredicate);

缓存中的数据几乎是 90000 条记录。我需要完整排序集合中的前 100 条记录,但它正在对 IMap 中的前 100 条记录应用排序

请问,你能帮忙解决这个问题吗?

榛子广播版本 - 3.7.3

PagingPredicate 在内部对所有记录进行排序。Hazelcast将记录分区。排序发生在每个分区上,并选择前 100 条记录。因此,对于 271(默认(分区,您的本地将有 27100 条记录。这些记录将再次合并和排序,并将返回生成的前 100 条记录。

例如,如果您有 1-90000 条记录,则分页谓词应返回 1-100,分页大小 = 100。

最新更新