diff options
author | David Bremner <david@tethera.net> | 2021-08-24 08:17:23 -0700 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2021-09-04 17:07:19 -0700 |
commit | 8322f536f5d304cc10caa2e061a36df0aa1996c4 (patch) | |
tree | e84068ccb8fe90c4717d259816b11bbe83d3989c /doc | |
parent | 90d9c2ad5c459624d17f92d0844e7a7fbb87d7a2 (diff) |
lib/parse-sexp: add term prefix backed fields
We use "boolean" to describe fields that should generate terms
literally without stemming or phrase splitting. This terminology
might not be ideal but it is already enshrined in
notmuch-search-terms(7).
Diffstat (limited to 'doc')
-rw-r--r-- | doc/man7/notmuch-sexp-queries.rst | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/doc/man7/notmuch-sexp-queries.rst b/doc/man7/notmuch-sexp-queries.rst index b763876d..6e68fcc3 100644 --- a/doc/man7/notmuch-sexp-queries.rst +++ b/doc/man7/notmuch-sexp-queries.rst @@ -81,6 +81,14 @@ 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. +Each term or phrase field has an associated combining operator +(``and`` or ``or``) used to combine the queries from each element of +the tail of the list. This is generally ``or`` for those fields where +a message has one such attribute, and ``and`` otherwise. + +Term or phrase fields can contain arbitrarily complex queries made up +from terms, operators, and modifiers, but not other fields. + .. _field-table: .. table:: Fields with supported modifiers @@ -112,7 +120,7 @@ stemming apply only in phrase fields. +------------+-----------+-----------+-----------+-----------+----------+ | mimetype | or | phrase | yes | yes | no | +------------+-----------+-----------+-----------+-----------+----------+ - | path | or | term | yes | yes | yes | + | path | or | term | no | yes | yes | +------------+-----------+-----------+-----------+-----------+----------+ | property | and | term | yes | yes | yes | +------------+-----------+-----------+-----------+-----------+----------+ @@ -151,10 +159,18 @@ EXAMPLES Match the *phrase* "quick" followed by "fox" in phrase fields (or outside a field). Match the literal string in a term field. +``(id 1234@invalid blah@test)`` + Matches Message-Id "1234@invalid" *or* Message-Id "blah@test" + ``(subject quick "brown fox")`` Match messages whose subject contains "quick" (anywhere, stemmed) and the phrase "brown fox". +``(to (or bob@example.com mallory@example.org))`` ``(or (to bob@example.com) (to mallory@example.org))`` + Match in the "To" or "Cc" headers, "bob@example.com", + "mallory@example.org", and also "bob@example.com.au" since it + contains the adjacent triple "bob", "example", "com". + NOTES ===== |