1. A search method for finding a rule from a plurality of rules each having an associated range of data, said data having n bits and said method comprising the steps of: (a) dividing said n bits into a plurality of sub-keys each having at least one bit, and constructing a rule mapping table having a rule column for each rule of said plurality of rules, each rule column being formed by generating a first output table for a first sub-key, and an upper output table and a lower output table for each remaining sub-key according to the associated range of data of a corresponding rule; and (b) dividing an input data into a plurality of input sub-keys for searching through said rule mapping table and determining rules that are satisfied with said input data, the first output table and upper and lower output tables in each rule column being addressed by said plurality of input sub-keys to determine if said input data satisfies a corresponding rule.