A data processing apparatus comprising: a processor for communicating with a data storage device to store data in and retrieve data from the data storage device; and a reconfigurable logic device, the reconfigurable logic device comprising a hardware logic template configured as a data processing pipeline, the data processing pipeline comprising a decompression engine and a downstream search engine; wherein the decompression engine is configured to receive a stream of compressed data retrieved from the data storage device, and perform a decompression operation on the compressed data stream to thereby create a stream of decompressed data; wherein the search engine is configured to store a data key, the data key being representative of data of interest, receive the stream of decompressed data created by the decompression engine, and perform the search operation by matching the received decompressed data against the data key; wherein the decompression engine and the search engine are configured to operate in a pipelined manner by performing their respective decompression and search operations simultaneously at hardware processing speeds such that the decompression engine performs the decompression operation on compressed data while at the same time the search engine performs the search operation on decompressed data that was previously decompressed by the decompression engine; wherein the processor is configured to send a search request to the reconfigurable logic device, the search request pertaining to a search operation with respect to compressed data that is stored in the data storage device, the search request comprising a plurality of parameters for controlling the search operation, at least one of the parameters comprising the data key; and wherein the reconfigurable logic device is configured to store the decompressed data only in a memory that is not accessible to the processor, wherein the memory comprises a member of the group consisting of (i) internal memory of the reconfigurable logic device that is inaccessible to the processor, (ii) a memory device that is deployed on a processing board, the memory device being inaccessible to the processor, and wherein the reconfigurable logic device is also deployed on the processing board, and (iii) a combination of the internal memory and the memory device. a processor for communicating with a data storage device to store data in and retrieve data from the data storage device; and a reconfigurable logic device, the reconfigurable logic device comprising a hardware logic template configured as a data processing pipeline, the data processing pipeline comprising a decompression engine and a downstream search engine; wherein the decompression engine is configured to receive a stream of compressed data retrieved from the data storage device, and perform a decompression operation on the compressed data stream to thereby create a stream of decompressed data; wherein the search engine is configured to store a data key, the data key being representative of data of interest, receive the stream of decompressed data created by the decompression engine, and perform the search operation by matching the received decompressed data against the data key; wherein the decompression engine and the search engine are configured to operate in a pipelined manner by performing their respective decompression and search operations simultaneously at hardware processing speeds such that the decompression engine performs the decompression operation on compressed data while at the same time the search engine performs the search operation on decompressed data that was previously decompressed by the decompression engine; wherein the processor is configured to send a search request to the reconfigurable logic device, the search request pertaining to a search operation with respect to compressed data that is stored in the data storage device, the search request comprising a plurality of parameters for controlling the search operation, at least one of the parameters comprising the data key; and wherein the reconfigurable logic device is configured to store the decompressed data only in a memory that is not accessible to the processor, wherein the memory comprises a member of the group consisting of (i) internal memory of the reconfigurable logic device that is inaccessible to the processor, (ii) a memory device that is deployed on a processing board, the memory device being inaccessible to the processor, and wherein the reconfigurable logic device is also deployed on the processing board, and (iii) a combination of the internal memory and the memory device.