[PATCH 4/4] doc: document thread subqueries

Jani Nikula jani at nikula.org
Sun May 6 11:05:21 PDT 2018


On Sat, 05 May 2018, David Bremner <david at tethera.net> wrote:
> Mention both performance and quoting issues.
> ---
>  doc/man7/notmuch-search-terms.rst | 26 ++++++++++++++++++++++++--
>  1 file changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/doc/man7/notmuch-search-terms.rst b/doc/man7/notmuch-search-terms.rst
> index 248444e3..ec999eed 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 neccesarily

neccesarily typo.

Otherwise LGTM.

> +    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
>  ========
> -- 
> 2.17.0
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list