Hazelcast запрос, чтобы получить карту на основе набора ключей и предиката

У меня есть IMAP фундука, который выглядит как

IMAP = key -> val1, val2, val3

индексируется на val1, val2 Я пытаюсь сказать key->val2 учитывая набор ключей

hzObj.getMap("testMap").getAll(keys.toSet.asJava)
which returns the key->val1, val2, val3

Нужна помощь в написании предиката, который говорит, что возвращать только ключ->val2 Пожалуйста, помогите

2 ответа

Решение

@nocturnal, смотрите пример использования ниже:

imap.project(Projections.singleAttribute("val2"), Predicates.in("__key", new String[]{"key1, key2"}));

Одно важное замечание, которое потребует от вас также определения индекса по ключу.

Поскольку для этого будут использоваться потоки запросов, вы также можете использовать imap.getAll(Set keys) вместо этого, а затем просто преобразовать его в коллекцию val2,

Если я правильно понял ваш вариант использования, вы можете использовать проекции для сокращения результирующих объектов запроса, чтобы уменьшить избыточный сетевой трафик.

Другие вопросы по тегам