At the end you say you are not opposed to using DBI. If you have a database, and the ability to use DBI, why the hell would you want to create a search engine from a CSV? That is ludacris, write a parse and a simple table structure and fill it in. Then setup a simple search engine script from the DB. Easiest and most efficient answer I can think of.