I’ve written a replacement for the well-known locate on Unix-plattforms. It is designed to act in a client/server model (currently not implemented) and should do auto-updating via inotify (currently also not implemented, first of all I need to fix the Ruby-bindings for inotify) but it does indexing and searching and this works relatively well. Some speed improvements are needed but I’ve just spent something around two hours from the idea to the implementation. If you want to give it a try, just check out http://svn.usrportage.de/rblocate/trunk/ and create a SQLite3-database in the same directory where you script is.
$ sqlite3 files.db SQLite version 3.3.6 Enter ".help" for instructions sqlite> CREATE TABLE files (id INTEGER PRIMARY KEY AUTOINCREMENT, path VARCHAR(1024) UNIQUE); sqlite> .quit
Now run
./search.rb --index <dir> and after that just ./search.rb --search <term>. Have fun!