Hi Gregor, The trick here is that when notmuch is indexing body text it feeds it into a Xapian function that parses the text by finding "terms" in the text. And this parser considers both punctuation and whitespace as separators between terms. So your messages are not being indexed in a way to let you distinguish between "org notmuch" and "org-notmuch". (Of note, the query parser applies the same parsing to your query---so that even when you think you're typing an exact phrase like "org-notmuch" that gets parsed into separate terms "org" and "notmuch" for searching.) > all these resulted in very many hits most or all of which do not > contain the string "org-notmuch", one found email was e.g. > > id:20180904105723.15564-3-david@tethera.net That message does contain the following: +test_emacs '(notmuch-tree "id:000-real-root@example.org") + (notmuch-test-wait) Where you will notice that there's a term "org" followed (after some punctuation and whitespace separators) by a term "notmuch". > How would one search for hyphenated words with notmuch? You would need to arrange to have the indexer consider the hyphen as a letter-like character to be made part of terms. Or be extra clever and index something like "notmuch-test-wait" in multiple ways (such as a single term "notmuch-test-wait" as well as three adjacent terms "notmuch", "test", and "wait" as notmuch is doing currently). -Carl