· attachment:<word>
+ · mimetype:<word>
+
· tag:<tag> (or is:<tag>)
· id:<message-id>
The <b>attachment:</b> prefix can be used to search for specific filenames (or
extensions) of attachments to email messages.
- For <b>tag:</b> and <b>is:</b> valid tag values include <b>inbox</b> and <b>unread</b> by default
- for new messages added by <b>notmuch</b> <b>new</b> as well as any other tag values
+ The <b>mimetype:</b> prefix will be used to match text from the content-types
+ of MIME parts within email messages (as specified by the sender).
+
+ For <b>tag:</b> and <b>is:</b> valid tag values include <b>inbox</b> and <b>unread</b> by default
+ for new messages added by <b>notmuch</b> <b>new</b> as well as any other tag values
added manually with <b>notmuch</b> <b>tag</b>.
- For <b>id:</b>, message ID values are the literal contents of the Message-ID:
+ For <b>id:</b>, message ID values are the literal contents of the Message-ID:
header of email messages, but without the '<', '>' delimiters.
- The <b>thread:</b> prefix can be used with the thread ID values that are gen‐
- erated internally by notmuch (and do not appear in email messages).
- These thread ID values can be seen in the first column of output from
+ The <b>thread:</b> prefix can be used with the thread ID values that are gen‐
+ erated internally by notmuch (and do not appear in email messages).
+ These thread ID values can be seen in the first column of output from
<b>notmuch</b> <b>search</b>
- The <b>path:</b> prefix searches for email messages that are in particular
+ The <b>path:</b> prefix searches for email messages that are in particular
directories within the mail store. The directory must be specified rel‐
- ative to the top-level maildir (and without the leading slash). By
- default, <b>path:</b> matches messages in the specified directory only. The
- "/**" suffix can be used to match messages in the specified directory
- and all its subdirectories recursively. <b>path:""</b> matches messages in
+ ative to the top-level maildir (and without the leading slash). By
+ default, <b>path:</b> matches messages in the specified directory only. The
+ "/**" suffix can be used to match messages in the specified directory
+ and all its subdirectories recursively. <b>path:""</b> matches messages in
the root of the mail store and, likewise, <b>path:**</b> matches all messages.
The <b>folder:</b> prefix searches for email messages by maildir or MH folder.
- For MH-style folders, this is equivalent to <b>path:</b>. For maildir, this
+ For MH-style folders, this is equivalent to <b>path:</b>. For maildir, this
includes messages in the "new" and "cur" subdirectories. The exact syn‐
- tax for maildir folders depends on your mail configuration. For
- maildir++, <b>folder:""</b> matches the inbox folder (which is the root in
- maildir++), other folder names always start with ".", and nested fold‐
- ers are separated by "."s, such as <b>folder:.classes.topology</b>. For "file
+ tax for maildir folders depends on your mail configuration. For
+ maildir++, <b>folder:""</b> matches the inbox folder (which is the root in
+ maildir++), other folder names always start with ".", and nested fold‐
+ ers are separated by "."s, such as <b>folder:.classes.topology</b>. For "file
system" maildir, the inbox is typically <b>folder:INBOX</b> and nested folders
are separated by slashes, such as <b>folder:classes/topology</b>.
- Both <b>path:</b> and <b>folder:</b> will find a message if <u>any</u> copy of that message
+ Both <b>path:</b> and <b>folder:</b> will find a message if <u>any</u> copy of that message
is in the specific directory/folder.
- The <b>date:</b> prefix can be used to restrict the results to only messages
+ The <b>date:</b> prefix can be used to restrict the results to only messages
within a particular time range (based on the Date: header) with a range
syntax of:
<initial-timestamp>..<final-timestamp>
- Each timestamp is a number representing the number of seconds since
+ Each timestamp is a number representing the number of seconds since
1970-01-01 00:00:00 UTC.
+</pre>
- In addition to individual terms, multiple terms can be combined with
- Boolean operators ( <b>and</b>, <b>or</b>, <b>not</b> , etc.). Each term in the query will
- be implicitly connected by a logical AND if no explicit operator is
- provided, (except that terms with a common prefix will be implicitly
- combined with OR until we get Xapian defect #402 fixed).
-
- Parentheses can also be used to control the combination of the Boolean
- operators, but will have to be protected from interpretation by the
- shell, (such as by putting quotation marks around any parenthesized
+<h3> Operators</h3>
+<pre>
+ In addition to individual terms, multiple terms can be combined with
+ Boolean operators (<b>and</b>, <b>or</b>, <b>not</b>, and <b>xor</b>). Each term in the query will
+ be implicitly connected by a logical AND if no explicit operator is
+ provided (except that terms with a common prefix will be implicitly
+ combined with OR). The shorthand '-<term>' can be used for 'not
+ <term>' but unfortunately this does not work at the start of an expres‐
+ sion. Parentheses can also be used to control the combination of the
+ Boolean operators, but will have to be protected from interpretation by
+ the shell, (such as by putting quotation marks around any parenthesized
expression).
+
+ In addition to the standard boolean operators, Xapian provides several
+ operators specific to text searching.
+
+ notmuch search term1 NEAR term2
+
+ will return results where term1 is within 10 words of term2. The
+ threshold can be set like this:
+
+ notmuch search term1 NEAR/2 term2
+
+ The search
+
+ notmuch search term1 ADJ term2
+
+ will return results where term1 is within 10 words of term2, but in the
+ same order as in the query. The threshold can be set the same as with
+ NEAR:
+
+ notmuch search term1 ADJ/7 term2
+</pre>
+
+<h3> Stemming</h3>
+<pre>
+ <b>Stemming</b> in notmuch means that these searches
+
+ notmuch search detailed
+ notmuch search details
+ notmuch search detail
+
+ will all return identical results, because Xapian first "reduces" the
+ term to the common stem (here 'detail') and then performs the search.
+
+ There are two ways to turn this off: a search for a capitalized word
+ will be performed unstemmed, so that one can search for "John" and not
+ get results for "Johnson"; phrase searches are also unstemmed (see
+ below for details). Stemming is currently only supported for English.
+ Searches for words in other languages will be performed unstemmed.
+</pre>
+
+<h3> Wildcards</h3>
+<pre>
+ It is possible to use a trailing '*' as a wildcard. A search for
+ 'wildc*' will match 'wildcard', 'wildcat', etc.
+</pre>
+
+<h3> Boolean and Probabilistic Prefixes</h3>
+<pre>
+ Xapian (and hence notmuch) prefixes are either <b>boolean</b>, supporting
+ exact matches like "<u>tag:inbox</u>" or <b>probabilistic</b>, supporting a more
+ flexible <b>term</b> based searching. The prefixes currently supported by not‐
+ much are as follows.
+
+ ┌───────────────────────────┬────────────────────────────┐
+ │Boolean
+ ├───────────────────────────┼────────────────────────────┤
+ │
+ │
+ │ <b>thread:</b> <b>folder:</b> │ <b>subject:</b> <b>attach‐</b> │
+ │ <b>path:</b> │ <b>ment:</b> <b>mimetype:</b> │
+ └───────────────────────────┴────────────────────────────┘
+</pre>
+
+<h3> Terms and phrases</h3>
+<pre>
+ In general Xapian distinguishes between lists of terms and <b>phrases</b>.
+ Phrases are indicated by double quotes (but beware you probably need to
+ protect those from your shell) and insist that those unstemmed words
+ occur in that order. One useful, but initially surprising feature is
+ that the following are equivalant ways to write the same phrase.
+
+ · "a list of words"
+
+ · a-list-of-words
+
+ · a/list/of/words
+
+ · a.list.of.words
+
+ Both parenthesised lists of terms and quoted phrases are ok with proba‐
+ bilisitic prefixes such as <b>to:</b>, <b>from:</b>, and <b>subject:</b>. In particular
+
+ subject:(pizza free)
+
+ is equivalent to
+
+ subject:pizza and subject:free
+
+ Both of these will match a subject "Free Delicious Pizza" while
+
+ subject:"pizza free"
+
+ will not.
</pre>
<h2>DATE AND TIME SEARCH</h2>
<pre>
- notmuch understands a variety of standard and natural ways of express‐
+ notmuch understands a variety of standard and natural ways of express‐
ing dates and times, both in absolute terms ("2012-10-24") and in rela‐
- tive terms ("yesterday"). Any number of relative terms can be combined
- ("1 hour 25 minutes") and an absolute date/time can be combined with
- relative terms to further adjust it. A non-exhaustive description of
+ tive terms ("yesterday"). Any number of relative terms can be combined
+ ("1 hour 25 minutes") and an absolute date/time can be combined with
+ relative terms to further adjust it. A non-exhaustive description of
the syntax supported for absolute and relative terms is given below.
</pre>
<pre>
date:<since>..<until>
- The above expression restricts the results to only messages from
+ The above expression restricts the results to only messages from
<since> to <until>, based on the Date: header.
- <since> and <until> can describe imprecise times, such as "yesterday".
- In this case, <since> is taken as the earliest time it could describe
+ <since> and <until> can describe imprecise times, such as "yesterday".
+ In this case, <since> is taken as the earliest time it could describe
(the beginning of yesterday) and <until> is taken as the latest time it
- could describe (the end of yesterday). Similarly, date:january..febru‐
+ could describe (the end of yesterday). Similarly, date:january..febru‐
ary matches from the beginning of January to the end of February.
- Currently, we do not support spaces in range expressions. You can
+ Currently, we do not support spaces in range expressions. You can
replace the spaces with '_', or (in most cases) '-', or (in some cases)
- leave the spaces out altogether. Examples in this man page use spaces
+ leave the spaces out altogether. Examples in this man page use spaces
for clarity.
- Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's possi‐
- ble to specify date:..<until> or date:<since>.. to not limit the start
+ Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's possi‐
+ ble to specify date:..<until> or date:<since>.. to not limit the start
or end time, respectively. Pre-1.2.1 Xapian does not report an error on
open ended ranges, but it does not work as expected either.
- Entering date:expr without ".." (for example date:yesterday) won't
- work, as it's not interpreted as a range expression at all. You can
- achieve the expected result by duplicating the expr both sides of ".."
+ Entering date:expr without ".." (for example date:yesterday) won't
+ work, as it's not interpreted as a range expression at all. You can
+ achieve the expected result by duplicating the expr both sides of ".."
(for example date:yesterday..yesterday).
</pre>
All refer to past, can be repeated and will be accumulated.
- Units can be abbreviated to any length, with the otherwise ambiguous
+ Units can be abbreviated to any length, with the otherwise ambiguous
single m being m for minutes and M for months.
- Number can also be written out one, two, ..., ten, dozen, hundred.
+ Number can also be written out one, two, ..., ten, dozen, hundred.
Additionally, the unit may be preceded by "last" or "this" (e.g., "last
week" or "this month").
- When combined with absolute date and time, the relative date and time
- specification will be relative from the specified absolute date and
+ When combined with absolute date and time, the relative date and time
+ specification will be relative from the specified absolute date and
time.
Examples: 5M2d, two weeks
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
- <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
<a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
<h2>COPYRIGHT</h2>
<pre>
- 2014, Carl Worth and many others
+ 2015, Carl Worth and many others
</pre>
-<h2>0.19</h2>
+<h2>0.20.2</h2>