1. An apparatus for performing a matching operation on data, the apparatus comprising: a programmable logic device in communication with a memory to search for data of interest to an application, the programmable logic device being configured to (1) store a data key, the data key being representative of the data of interest, (2) receive a parameter from the application for controlling the matching operation, (3) define an adjustable threshold in response to the received parameter, (4) receive streaming data from the memory, (5) process the streaming data against the data key to generate a signal indicative of a similarity between the streaming data and the data key, and (6) compare the generated signal with the defined threshold to thereby determine whether the streaming data is deemed a match to the data key, wherein the threshold is adjustable to control whether the programmable logic device performs an approximate match operation or an exact match operation, and further to control, for an approximate match operation, a degree of approximate matches returned by the approximate match operation.