How would you optimize a search algorithm for a massive, distributed dataset? Assume the dataset is represented as sorted shards, where each record is [key, value]. Implement search_distributed(shards, target, worker_count) to return every record whose key equals target, preserving shard order and record order; use shard-range pruning, binary search, and parallel shard searches where useful.
def search_distributed(shards, target, worker_count):