Hazelcast 计数机制

Hazelcast Count mechanism

我试图使用 hazelcast 聚合来执行计数操作。

示例:-

这里我要计算 json 中 salary1 字段的数量。

String json1 = "{\r\n" + "    \"salary\": 200\r\n" + "}";
String json2 = "{\r\n" + "    \"salary\": 300\r\n" + "}";
String json5 = "{\r\n" + "  \"salary1\": 300\r\n" + "}";

map.put(1, new HazelcastJsonValue(json1));
map.put(2, new HazelcastJsonValue(json2));
map.put(3, new HazelcastJsonValue(json5));
Long count = map.aggregate(Aggregators.count("salary1"));
System.out.println("count is " + count);

我只有一个 salary1 字段,但它仍然提供完整的计数。

有什么问题?

我认为您需要先使用 Predicate 来过滤您计数的条目。请尝试以下操作。

Predicate p = Predicates.notEqual("salary1", null);
Long count = map.aggregate(Aggregators.count(), p);