Темы Kafka не индексируются по ключам, они разделены ими.
Да, вы можете прочитать одно сообщение независимо от сжатия, но вы не можете прочитать тему, начиная с определенного ключа, только смещение.
Зная ключ, вы можете найти раздел (при условии использования разделителя по умолчанию).
Но это лучшее, что вы можете сделать ... Вы должны отсканировать весь раздел, чтобы найти это смещение для ключа
Например, используя kafkacat напечатайте ключ и смещение
kafkacat -C -b kafka:9092 -t topic-name -p 0 -f "key: %k; offset: %o\n" | grep key-value