This page gives a quick overview of the search engine query syntax. For more info look on this [apache|http://lucene.apache.org/java/2_4_0/queryparsersyntax.html] web server page.

%%zebra-table
|| term  | find a single Term is easy   | {{hello}}
|| "..." | find a group of words | {{"hello dolly"}}
|| ?     | any single character (the ? can not be the 1st character of a search) | {{te?t}}
|| *     | any multiple character (the * can not be the 1st character of a search) | {{test*}}
|| OR    | match document if either of the terms exist | {{"hello dolly" hello}}\\{{"hello dolly" OR hello}}
|| AND   | match documents where both terms exists | {{"hello dolly" AND "dolly lucy"}}
|| +     | requires that the term after the "+" symbol exist | {{+hello dolly}}
|| -\\NOT | exclude documents that contain the term after the "-" symbol \\ exclude also supported with NOT or ! | {{"hello dolly" -"dolly lucy"}}\\{{"hello dolly" NOT "dolly lucy"}}
|| (...) | use parentheses to form sub queries | {{(hello OR dolly) AND website}}
|| ~~    | ''fuzzy'' searchs to match terms similar in spelling | {{roam~ }}
|| ~n    | ''proximity'' search, within a distance expressed in number of words | {{"hello dolly"~10}}
|| ^n    | ''boost'' factor to increase importance in a search | {{"hello dolly"^4 "dolly lucy"}}
|| \     | escape special characters: __ + - && ~|~| ! ( ) { } [[ ] ^ " ~ * ? : \ __ | {{\(1\+1\)\:2}} to find (1+1):2

You can restrict the search domain by prefixing your query:
|| author:''term''     | find pages modified by certain author(s) | {{author:~JohnFoo}}
|| attachment:''term'' | find pages with certain attachment name  | {{attachment:brushed*}}
|| name:''term''       | find pages with certain page name        | {{name:Main}}
|| contents:''term''     | find pages with certain content          | {{contents:jspwiki}}
%%