Perl XS and SWIG interface to CLucene C++ text search engine
The Answer (at a high level)
Convert candidate CVs from Word to text
using wvWare (OpenOffice) converter
Index text against candidate no.
Search text -> cand nos -> SQL temp table
Normal SQL search on other criteria