Estou tentado a dizer SQLite com a extensão de pesquisa de texto completo FTS4 (padrão).
CREATE VIRTUAL TABLE text_files USING FTS4(file_id INTEGER PRIMARY KEY, file_content BLOB);
CREATE TABLE text_information(file_id INTEGER REFERENCES text_files(file_id), file_path TEXT, file_size INTEGER, whatever_you_want…);
Com algum programa em C, é fácil armazenar um arquivo em seu banco de dados. Em seguida, uma consulta simples executa a pesquisa de texto completo (sintaxe)
SELECT * FROM text_files WHERE file_content MATCH 'hello';