I don't know of any specific search utilities to search a static site, but I'm sure there are some out there...simply because I know I could do it, so others must have already done it.
You can open and parse html files using PHP (using the DOM functions) and thus index the content of your site. You could also set up excluded or white-list only directories for your index.
From here you could have a search box that returned the URLs to the static html pages on your site by order of relevance. It would be a lot of work to create the relevance algorithms, so you probably want to find someone who has already done this.
All you would need is one PHP script for indexing and one for returning the indexed results and either a flat-file database (XML, plain text, etc) or other accessible data source to hold your index data.
This is a good job for PHP (or Perl). But I would look at what is already out there, and I haven't done my homework in this department so can't give you any recommendations.