Currently FieldHitExtractor, CompositeKeyExtractor and TopHitsAggExtractor hold the zoneId as an attribute and include it in serialization/deserialization. Ideally zoneId should be held at a different level globally for all 3 of them and for the entire operation as the zoneId conceptually (and functionally) is not a property of the column to be extracted but of the entire operation (as it comes from session configuration).