1. A method, implemented by a packet processing node in a packet-switched network, for performing a data lookup on a hash table, said method comprising: receiving a packet containing a flow identifier; generating a full search key from the flow identifier; determining a corresponding hash bucket in said hash table based on the full search key; creating a compressed search key from signature bits extracted from predetermined bit locations in the full search key; predicting a hash entry index for a target hash entry in the hash bucket by comparing the compressed search key to signature patterns that are mapped one-to-one to hash entries in the hash bucket, wherein the target hash entry comprises a hash key and associated data; for each hash bucket in the hash table, storing the bit locations for the signature bits and the signature patterns for the hash entries in the hash bucket in an index table; and performing said data lookup by comparing the full search key to the hash key in the target hash entry.