]> git.cworth.org Git - notmuch-wiki/commitdiff
add message id info to searching page, and cleanup
authorJameson Graef Rollins <jrollins@finestructure.net>
Sun, 15 Apr 2012 19:46:35 +0000 (12:46 -0700)
committerJameson Graef Rollins <jrollins@finestructure.net>
Sun, 15 Apr 2012 19:46:35 +0000 (12:46 -0700)
searching.mdwn

index 1be833d491cad852bbca2597dcb6a9d7dc38572d..b250b5703d9f82993c009ac5d7dab53f837ac3ae 100644 (file)
@@ -16,10 +16,10 @@ pointers.
 See the [Wikipedia article](http://en.wikipedia.org/wiki/Stemming) for 
 the detailed description. What this means for us is that these searches
 
-    notmuch search detailed
-    notmuch search details
-    notmuch search detail
-    
+        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.
 
@@ -52,11 +52,11 @@ equivalent. The capitalized form is used below only for readability*
 
 ### '+' and '-'
 
-    notmuch search +term1
+        notmuch search +term1
 
 will only return results that contain 'term1'.
 
-    notmuch search -term2
+        notmuch search -term2
 
 will return results that do not contain 'term2'. '+' and '-' can also be 
 used on bracketed expressions or phrases (see below).
@@ -70,28 +70,28 @@ will return results that contain **both** 'term1' and 'term2'.
 If no explicit operator is provided all search terms are connected by an 
 implicit AND, so these two searches:
 
-    notmuch search term1 AND term2
-    notmuch search term1 term2
+        notmuch search term1 AND term2
+        notmuch search term1 term2
 
 are equivalent.
 
-    notmuch search term1 NOT term2
+        notmuch search term1 NOT term2
 
 will return results that contain 'term1' but do not contain 'term2'. For
 a query that looks more like natural language you can also use AND NOT
 
-    notmuch search term1 AND NOT term2
+        notmuch search term1 AND NOT term2
 
 ### XOR (exclusive OR)
 
-    notmuch search term1 XOR term2
+        notmuch search term1 XOR term2
 
 will return results that contain either 'term1' or 'term2', but **not**
 both.
 
 ### OR
 
-    notmuch search term1 OR term2
+        notmuch search term1 OR term2
 
 will return results that contain either 'term1' or 'term2'.
 
@@ -100,33 +100,33 @@ will return results that contain either 'term1' or 'term2'.
 Operators above are listed in the default order of precedence. One can
 override the precedence using bracketed expressions:
 
-    notmuch search term1 AND term2 OR term3
+        notmuch search term1 AND term2 OR term3
 
 is the same as
 
-    notmuch search (term1 AND term2) OR term3
+        notmuch search (term1 AND term2) OR term3
 
 but not the same as
 
-    notmuch search term1 AND (term2 OR term3)
+        notmuch search term1 AND (term2 OR term3)
 
 ### NEAR
 
-    notmuch search term1 NEAR term2
+        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
+        notmuch search term1 NEAR/2 term2
 
 ### ADJ (adjacent)
 
-notmuch search term1 ADJ term2
+        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
+        notmuch search term1 ADJ/7 term2
 
 ### Phrases
 
@@ -137,32 +137,40 @@ e-mail addresses are also treated as phrases.
 
 In practice this means that these two searches are **not** equivalent:
 
-    notmuch search "Debian Project"
-    notmuch search Debian ADJ/1 Project
+        notmuch search "Debian Project"
+        notmuch search Debian ADJ/1 Project
 
 ## Prefix searches
 
 You can search your collection by using several prefixes, like this:
 
-    notmuch search from:john
+        notmuch search from:john
 
 This will return results where 'john' appears in the name or the e-mail 
 address. See 'notmuch help search-terms' for a complete list of 
 prefixes.
 
+### Message IDs
+
+An important concept for notmuch is the Message-Id, which is a unique
+identifier for each message.  Individual messages can be accessed via
+their message ID with the "id:" prefix:
+
+        notmuch search id:<message-id>
+
 ## Range searches
 
 Since notmuch is about (large) e-mail collections it is very useful to 
 be able to search for e-mails within a specific date range. This will 
 work:
 
-    notmuch search <initial timestamp>..<final-timestamp>
+        notmuch search <initial timestamp>..<final-timestamp>
 
 However, until a better syntax is implemented the only form accepted for 
 timestamps is Unix time (seconds since 1970-01-01 00:00:00 UTC), so the 
 utility 'date' can help:
 
-    notmuch search $(date +%s -d 2009-10-01)..$(date +%s)
+        notmuch search $(date +%s -d 2009-10-01)..$(date +%s)
 
 Explanation: '+%s' will tell date to output Unix time format and -d will 
 tell date to output the date from 2009-10-01. See date(1) for more