JC,
just some suggestions.
You're obviously doing an extensive search engine - hence, you must have some protocols defined for your user to follow.
For example, you can use multiple text fields which serve various purposes.
Recommendation :
with all the words : show_Textfield
with any of the words : show_Textfield
with the exact phrase : show_Textfield
without the words : show_Textfield
For this point on, you can build a query by constructing from data entered.
If the 'Exclude words' field was left blank - simply exlude the function which will build the query's 'NOT' part.
I hope this helps a little. I looked at Google's advanced search area to get some general ideas here. (http://www.google.com/advanced_search)
-m.