Home

Appendix

Application Icon   Search operators

Searching in DEVONthink already is a powerful function. The addition of Boolean operators, parentheses, and wildcards extend the power to fine-tune your search even further.

Note: The syntax of the operators is compatible to DEVONagent and EasyFind, the Finder, Spotlight, common search engines as well as common programming languages such as C, C++, Objective-C, Java, and JavaScript. The complexity of the query is unlimited.

Case

All terms are case-insensitive. You may, if you wish, use capitalization for proper names in a query, but DEVONthink will ignore case in interpreting the query.

Precedence of terms

Search terms and associated operators will be interpreted from left to right, except as modified by including portions of the query within parentheses.

Wildcards

You can replace parts of words with wildcards matching one, multiple, or a range of characters:

  • Icon
    ?: Matches exactly one character.
  • Icon
    *: Matches none, one, or multiple characters.
  • Icon
    [a-b]: Matches one character of the range a through b.
  • Icon
    [abc...] or [a|b|c|...]: Matches one character out of the given list of characters.
  • Icon
    [^...]: Matches one character that is not contained in the given list or range.

Boolean Operators

The operators (often called Boolean operators) are words or symbols that establish logical rules for the terms in the search query. If no operator is given, DEVONthink infers AND. The available Boolean operators are:

  • Icon
    term1 AND term2: Contains term1 AND term2
  • Icon
    term1 BUT term2: Contains term1 AND term2
  • Icon
    term1 OR term2: Contains term1 OR term2
  • Icon
    term1 XOR term2: Contains term1 or term2, but not both
  • Icon
    term1 EOR term2: Contains term1 or term2, but not both
  • Icon
    NOT term: Does not contain term
  • Icon
    "term1": Contains the string of words term1, in exactly this form

Besides the classic Boolean operators, DEVONthink uses a number of operators that usually are found in high-end databases. Use these operators as a replacement for AND and "quotes" to fine tune your query.

  • Icon
    term1 OPT term2: term1 is required, term2 is optional. If term2 is also found, the found document ranks higher in the search results.
  • Icon
    term1 NEAR term2: term1 occurs 10 words or less before or after term2
  • Icon
    term1 NEAR/n term2: term1 occurs n or less words before or after term2
  • Icon
    term1 BEFORE term2: term1 occurs before term2
  • Icon
    term1 BEFORE/n term2: term1 occurs n or less words before term2
  • Icon
    term1 NEXT term2: term1 occurs right before term2 (shortcut for BEFORE/1)
  • Icon
    term1 NEXT/n term2: term1 occurs n or less words before term2 (synonym for BEFORE/n)
  • Icon
    term1 AFTER term2: term1 occurs after term2
  • Icon
    term1 AFTER/n term2: term1 occurs n or less words after term2
  • Icon
    ~term1: Contains term1, also as part of a word

For convenience, some of these operators can also be abbreviated using commonly used symbols:

  • Icon
    AND: &, &&, +
  • Icon
    OR: |, ||
  • Icon
    XOR: ^, ^^
  • Icon
    NOT: !, -

Operators are evaluated in the following priority: parenthesis > phrase/hyphens > (NOT) BEFORE/AFTER/NEAR/NEXT > NOT > AND/OR/XOR/EOR. Terms with same priority but without parenthesis are evaluated from left to right.

White Space Handling

Words linked by non-white separators (e.g., page-index or page_id) are treated like phrases put into "quotes". Words separated by hyphens are handled like word1word2 OR "word1 word2". Characters separated by dots are considered to be abbreviations and therefore handled like words separated by hyphens, e.g., the term t.a.t.u is equal to "t a t u" OR tatu.

Examples

By using any or all of the operators and rules laid out above you can create complex queries that find the exact information you're looking for. Here are some example queries that show how the operators are used.

Example:

Devonian Dinosaurs

This query looks for all documents that contain the words "devonian" and "dinosaurs".

Example:

(Steve NEAR Jobs) AND iMac BUT NOT MacBook OPT Pro

This query looks for documents that contain the words "Steve" and "Jobs" no farther ten words away from each other, as well as the word "iMac" (no specific position relative to Steve and Jobs), but not the word "MacBook". The word "Pro" does not need to occur, but if it does, the document is ranked higher in the list of search results.

Example:

Paracetamol NEAR (~effect OR impact) AND ((side OR second*) NEAR/2 ~effect)

This query looks for documents containing the word "Paracetamol" near (within 10 words) to words either starting with "effect" (and so also "effects") or "impact". In addition, the document needs to contain the word "side" or any word starting with "second" located within two words range of any word starting with "effect".