X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=doc%2Fman7%2Fnotmuch-search-terms.rst;h=1d27ac1e6de5ac931c6a349e1355fee57322f7be;hb=5a3b42fb8c556397841b86c5fda1c4554dab253a;hp=54138d230f0b8559d48fcda20b5129f882738815;hpb=4d5477a3d5c1bdcc9fcdb427655c6a036148bd90;p=notmuch diff --git a/doc/man7/notmuch-search-terms.rst b/doc/man7/notmuch-search-terms.rst index 54138d23..1d27ac1e 100644 --- a/doc/man7/notmuch-search-terms.rst +++ b/doc/man7/notmuch-search-terms.rst @@ -124,30 +124,89 @@ The time range can also be specified using timestamps with a syntax of: Each timestamp is a number representing the number of seconds since 1970-01-01 00:00:00 UTC. +Operators +--------- + In addition to individual terms, multiple terms can be combined with -Boolean operators ( **and**, **or**, **not** , etc.). Each term in the -query will be implicitly connected by a logical AND if no explicit -operator is provided, (except that terms with a common prefix will be -implicitly combined with OR until we get Xapian defect #402 fixed). +Boolean operators (**and**, **or**, **not**, and **xor**). Each term +in the query will be implicitly connected by a logical AND if no +explicit operator is provided (except that terms with a common prefix +will be implicitly combined with OR). The shorthand '-' can be +used for 'not ' but unfortunately this does not work at the +start of an expression. Parentheses can also be used to control the +combination of the Boolean operators, but will have to be protected +from interpretation by the shell, (such as by putting quotation marks +around any parenthesized expression). + +In addition to the standard boolean operators, Xapian provides several +operators specific to text searching. + +:: + + notmuch search term1 NEAR term2 + +will return results where term1 is within 10 words of term2. The +threshold can be set like this: + +:: + + notmuch search term1 NEAR/2 term2 + +The search + +:: + + notmuch search term1 ADJ term2 + +will return results where term1 is within 10 words of term2, but in the +same order as in the query. The threshold can be set the same as with +NEAR: + +:: + + notmuch search term1 ADJ/7 term2 + + +Stemming +-------- + +**Stemming** in notmuch means that these searches + +:: + + notmuch search detailed + notmuch search details + notmuch search detail + +will all return identical results, because Xapian first "reduces" the +term to the common stem (here 'detail') and then performs the search. + +There are two ways to turn this off: a search for a capitalized word +will be performed unstemmed, so that one can search for "John" and not +get results for "Johnson"; phrase searches are also unstemmed (see +below for details). Stemming is currently only supported for +English. Searches for words in other languages will be performed unstemmed. + +Wildcards +--------- + +It is possible to use a trailing '\*' as a wildcard. A search for +'wildc\*' will match 'wildcard', 'wildcat', etc. -Parentheses can also be used to control the combination of the Boolean -operators, but will have to be protected from interpretation by the -shell, (such as by putting quotation marks around any parenthesized -expression). Boolean and Probabilistic Prefixes ---------------------------------- Xapian (and hence notmuch) prefixes are either **boolean**, supporting -exact matches like "tag:inbox" or **probabilistic**, supporting a most flexible **term** based searching. The prefixes currently supported by notmuch are as follows. +exact matches like "tag:inbox" or **probabilistic**, supporting a more flexible **term** based searching. The prefixes currently supported by notmuch are as follows. +------------------+-----------------------+ |Boolean |Probabilistic | +------------------+-----------------------+ | **tag:** **id:** | **from:** **to:** | |**thread:** |**subject:** | -|**folder:** |**attachment** | -|**path:** | | +|**folder:** |**attachment:** | +|**path:** |**mimetype:** | | | | +------------------+-----------------------+