X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=doc%2Fman7%2Fnotmuch-sexp-queries.rst;h=b763876d3672ddffc51aa8cc810ec67c85ea1503;hp=08e97cc3b29579d469a10a435937c03ff957e07d;hb=90d9c2ad5c459624d17f92d0844e7a7fbb87d7a2;hpb=48ad0e1ff350a35dd0af6a1892edf27aa5115927 diff --git a/doc/man7/notmuch-sexp-queries.rst b/doc/man7/notmuch-sexp-queries.rst index 08e97cc3..b763876d 100644 --- a/doc/man7/notmuch-sexp-queries.rst +++ b/doc/man7/notmuch-sexp-queries.rst @@ -40,10 +40,12 @@ subqueries. Match all messages. *term* - Match all messages containing *term*, possibly after - stemming or phase splitting. For discussion of stemming in - notmuch see :any:`notmuch-search-terms(7)`. Stemming only applies - to unquoted terms (basic values) in s-expression queries. + + Match all messages containing *term*, possibly after stemming or + phrase splitting. For discussion of stemming in notmuch see + :any:`notmuch-search-terms(7)`. Stemming only applies to unquoted + terms (basic values) in s-expression queries. For information on + phrase splitting see :any:`fields`. ``(`` *field* |q1| |q2| ... |qn| ``)`` Restrict the queries |q1| to |qn| to *field*, and combine with *and* @@ -63,7 +65,7 @@ subqueries. FIELDS `````` -*Fields* (also called *prefixes* in notmuch documentation) +*Fields* [#aka-pref]_ correspond to attributes of mail messages. Some are inherent (and immutable) like ``subject``, while others ``tag`` and ``property`` are settable by the user. Each concrete field in @@ -72,6 +74,13 @@ is discussed further under "Search prefixes" in :any:`notmuch-search-terms(7)`. The row *user* refers to user defined fields, described in :any:`notmuch-config(1)`. +Most fields are either *phrase fields* [#aka-prob]_ (which match +sequences of words), or *term fields* [#aka-bool]_ (which match exact +strings). *Phrase splitting* breaks the term (basic value or quoted +string) into words, ignore punctuation. Phrase splitting is applied to +terms in phrase (probabilistic) fields. Both phrase splitting and +stemming apply only in phrase fields. + .. _field-table: .. table:: Fields with supported modifiers @@ -138,10 +147,23 @@ EXAMPLES ``(not Bob Marley)`` Match messages containing neither "Bob" nor "Marley", nor their stems, +``"quick fox"`` ``quick-fox`` ``quick@fox`` + Match the *phrase* "quick" followed by "fox" in phrase fields (or + outside a field). Match the literal string in a term field. + ``(subject quick "brown fox")`` Match messages whose subject contains "quick" (anywhere, stemmed) and the phrase "brown fox". +NOTES +===== + +.. [#aka-pref] a.k.a. prefixes + +.. [#aka-prob] a.k.a. probabilistic prefixes + +.. [#aka-bool] a.k.a. boolean prefixes + .. |q1| replace:: :math:`q_1` .. |q2| replace:: :math:`q_2` .. |qn| replace:: :math:`q_n`