Basic query syntax

You can search for words or phrases (enclosed in double quotes), optionally joined together using the boolean keywords OR, AND, NOT (which must be in capitals). If no boolean operator is specified, OR is assumed. Words and phrases may also be preceeded by a plus/minus sign to indicate that they must or must not appear in documents.

Examples:

Words and phrases can also be grouped by enclosing them in parentheses.

The following characters are reserved for special functions in search queries:
    + - && || ! ( ) { } [ ] ^ " ~ * ? : \
If you want to search for these characters, you must escape them by preceding them with a backslash.

Wildcards

You can use ? to represent a single character or * for 0 or more characters.

Examples:

IMPORTANT: You cannot use * nor ? as the first character of a search query.

Advanced query syntax

Words or phrases can be marked as being more important by appending a ^ followed by the "boost factor." This is a number that indicates how important the word or phrase is to the query. By default, each word or phrase is given a boost factor of 1 but you can change this for each one. Values must be greater than 0 but can be less than 1 (to indicate less important terms). For example: "hello world"^2 foobar^0.5.

Proximty searches can find words that are near each other. Append a ~ to the end of a phrase followed by the range in words. For example, "foo bar"~10 finds documents that contain the words "foo" and "bar" within 10 words of each other.

You can also do "fuzzy" searches by appending a ~ to the end of a single word (not phrase). For example, "roam~" will match words like "foam" and "roams".