$query .= "( reviews2_reviews.text_review LIKE '%".$search."%' OR
reviews2_reviews.artist LIKE '%".$search."%' OR
reviews2_reviews.work_title LIKE '%".$search."%' OR
reviews2_reviews.label LIKE '%".$search."%' OR
reviews2_reviews.distributor LIKE '%".$search."%' OR
reviews2_reviews.label_url LIKE '%".$search."%' OR
reviews2_reviews.distributor_url LIKE '%".$search."%' OR
reviews2_users.signature LIKE '%".$search."%' OR
reviews2_users.email LIKE '%".$search."%' OR
reviews2_reviews.artist_email LIKE '%".$search."%' OR
reviews2_reviews.label_email LIKE '%".$search."%' ) ";
The best thing to do with that is add an extra column and then concatenate those values into it( seperated by | or something ) on update and creation.
Then the WHERE clause would just become
WHERE reviews2_reviews.search_index LIKE '%".$search."%'
For a wildcard search( LIKE searches in character subsets so it is quite bad, especially across that amount of columns as it is is full table scanning multiple times( that is what is chewing your server up ) as it cannot use indexes. Eg. typing in a in the search box could return banana.
Or
WHERE MATCH( reviews2_reviews.search_index ) AGAINST ( '".$search."' )
(http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html)
For a fulltext search that uses an index. The only loss in this is searching for a would not find banana any more as it looks for whole words, the benefit is there is a lot less degradation as the site gets larger once it gets fixed. There are a few things that can be involved in setting up FULLTEXT searches like lowering the minimum search count from 3 so it can find U2 and stuff.
There is going to have to be someone with some degree of ability to do this, though it is not necessarily that complex to do. If you do find someone and they think it is the PHP code( ie. blames it on an inefficiant function call ) and doesn't spot the database queries then don't let them near it.
Where is the code that adds and updates reviews?
The steps to fix the search are
1. Add a search index column, decide whether you want to use a FULLTEXT index( heavily recommended)
2. Update the code that manages the add/updating of reviews to populate the index from that point on.
3. Run an SQL statement to populate your new index column
4. Change the search code to use this new index column
Back everything up before hand if there is no dev box.