So we had to encode the new and richer query semantics in the query string. So our goal was to make the syntax as easy as possible and especially leave simple free text queries valid. In the query the categories to be searched should be selectable for each term. Stemming is handled transparently for the client. Terms searched in a stemmed category are searched using their word stem automatically.
Phrase search looks up the words in the string.
At least one of them must be an index term. Then the server scans the documents containing this word for string matches for the complete phrase. This means that string search can only work if the server has access to the documents. This is for example very useful when searching in phonebooks if the exact spelling of a name is not known. Parentheses can be used for grouping.