summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2018-05-05 12:59:28 -0300
committerDavid Bremner <david@tethera.net>2018-05-07 08:42:53 -0300
commitf2e6f76a046492650713c1c3f1f1a19f49de59ea (patch)
tree217ef22756a44c30b3288bbe591bd9d995773f46 /doc
parentf0131af6c59704e29d58eb74ed5e4bc298455272 (diff)
doc: document thread subqueries
Mention both performance and quoting issues.
Diffstat (limited to 'doc')
-rw-r--r--doc/man7/notmuch-search-terms.rst26
1 files changed, 24 insertions, 2 deletions
diff --git a/doc/man7/notmuch-search-terms.rst b/doc/man7/notmuch-search-terms.rst
index 248444e3..8a5eeb18 100644
--- a/doc/man7/notmuch-search-terms.rst
+++ b/doc/man7/notmuch-search-terms.rst
@@ -83,6 +83,22 @@ thread:<thread-id>
messages). These thread ID values can be seen in the first column
of output from **notmuch search**
+thread:{<notmuch query>}
+ 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:{<something>}**
+ as expanding to all of the thread IDs which match **<something>**;
+ notmuch then performs a second search using the expanded query.
+
path:<directory-path> or path:<directory-path>/** or path:/<regex>/
The **path:** prefix searches for email messages that are in
particular directories within the mail store. The directory must
@@ -277,8 +293,8 @@ Quoting
-------
Double quotes are also used by the notmuch query parser to protect
-boolean terms or regular expressions containing spaces or other
-special characters, e.g.
+boolean terms, regular expressions, or subqueries containing spaces or
+other special characters, e.g.
::
@@ -288,12 +304,17 @@ special characters, e.g.
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
====================
@@ -435,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
========