X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=doc%2Fman7%2Fnotmuch-search-terms.rst;h=f7a39ceb9df4bc6efb9ae598d70150701374dc48;hp=6d2bf62ad7a15c42a6ae25293f1248678f6be4f2;hb=fd3c93650d976f630ba0a60341a1a695422e4969;hpb=89f651a40374d07750528f45d555ce821c049c80 diff --git a/doc/man7/notmuch-search-terms.rst b/doc/man7/notmuch-search-terms.rst index 6d2bf62a..f7a39ceb 100644 --- a/doc/man7/notmuch-search-terms.rst +++ b/doc/man7/notmuch-search-terms.rst @@ -7,7 +7,7 @@ SYNOPSIS **notmuch** **count** [option ...] <*search-term*> ... -**notmuch** **dump** [--format=(batch-tag|sup)] [--] [--output=<*file*>] [--] [<*search-term*> ...] +**notmuch** **dump** [--gzip] [--format=(batch-tag|sup)] [--output=<*file*>] [--] [<*search-term*> ...] **notmuch** **reindex** [option ...] <*search-term*> ... @@ -42,7 +42,7 @@ of the prefixes with forms can be also used to restrict the results to those whose value matches a regular expression (see **regex(7)**) delimited with //, for example:: - notmuch search 'from:/bob@.*[.]example[.]com/' + notmuch search 'from:"/bob@.*[.]example[.]com/"' from: or from:// The **from:** prefix is used to match the name or address of @@ -83,6 +83,22 @@ thread: messages). These thread ID values can be seen in the first column of output from **notmuch search** +thread:{} + If notmuch is built with **Xapian Field Processors** (see below), + threads may be searched for indirectly by providing an arbitrary + notmuch query in **{}**. For example, the following returns + threads containing a message from mallory and one (not necessarily + the same message) with Subject containing the word "crypto". + + :: + + % notmuch search 'thread:"{from:mallory}" and thread:"{subject:crypto}"' + + The performance of such queries can vary wildly. To understand + this, the user should think of the query **thread:{}** + as expanding to all of the thread IDs which match ****; + notmuch then performs a second search using the expanded query. + path: or path:/** or path:// The **path:** prefix searches for email messages that are in particular directories within the mail store. The directory must @@ -121,19 +137,20 @@ date:.. or date: expression, and supported syntax for and date and time expressions. - The time range can also be specified using timestamps with a - syntax of: + The time range can also be specified using timestamps without + including the date prefix using a syntax of: .. Each timestamp is a number representing the number of seconds - since 1970-01-01 00:00:00 UTC. + since 1970-01-01 00:00:00 UTC. Specifying a time range this way + is considered legacy and predates the date prefix. lastmod:.. The **lastmod:** prefix can be used to restrict the result by the database revision number of when messages were last modified (tags were added/removed or filenames changed). This is usually used in - conjunction with the **--uuid** argument to **notmuch search** to + conjunction with the ``--uuid`` argument to **notmuch search** to find messages that have changed since an earlier query. query: @@ -272,6 +289,33 @@ Both of these will match a subject "Free Delicious Pizza" while will not. +Quoting +------- + +Double quotes are also used by the notmuch query parser to protect +boolean terms, regular expressions, or subqueries containing spaces or +other special characters, e.g. + +:: + + tag:"a tag" + +:: + + folder:"/^.*/(Junk|Spam)$/" + +:: + + thread:"{from:mallory and date:2009}" + +As with phrases, you need to protect the double quotes from the shell +e.g. + +:: + + % notmuch search 'folder:"/^.*/(Junk|Spam)$/"' + % notmuch search 'thread:"{from:mallory and date:2009}" and thread:{to:mallory}' + DATE AND TIME SEARCH ==================== @@ -296,6 +340,13 @@ In this case, is taken as the earliest time it could describe could describe (the end of yesterday). Similarly, date:january..february matches from the beginning of January to the end of February. +If specifying a time range using timestamps in conjunction with the +date prefix, each timestamp must be preceded by @ (ASCII hex 40). As +above, each timestamp is a number representing the number of seconds +since 1970-01-01 00:00:00 UTC. For example: + + date:@..@ + date:..! can be used as a shorthand for date:... The expansion takes place before interpretation, and thus, for example, date:monday..! matches from the beginning of Monday until the end of @@ -405,6 +456,7 @@ Currently the following features require field processor support: - non-range date queries, e.g. "date:today" - named queries e.g. "query:my_special_query" - regular expression searches, e.g. "subject:/^\\[SPAM\\]/" +- thread subqueries, e.g. "thread:{from:bob}" SEE ALSO ========