The general form of search string is a list of terms separated with space:
QUERY = TERM TERM ...
Each term can be either a plain keyword, or a predict in the form of
PRED:EXP, where PRED is the predefined filter and EXP is the parameters to be
applied to the filter. As a simple example:
bugfix from:Bob to:George age:>1w
to search emails titled as 'bugfix' (a subject keyword filter) from Bob (a sender filter) to George (a recipient filter) before 1 week ago (an age filter).
bugfix from:Bob is:reviewed not:obsoleted
to search all emails from Bob that have "bugfix" in subject, and have been reviewed but is not obsoleted (by a new revision of this series). Because there are syntax shortcut for some predicts, it can be simplified as:
from:Bob fix +reviewed -tested
Filter by age of the message. Supports "d" (day), "w" (week), "m" (month) and "y" (year) as units. Examples:
"not:X" is the opposite of "is:X". "+X" and "-X" are shorter synonyms of "is:X" and "not:X" respectively.
Compare the address info of message. Example:
NAME can be the name, email or a substring of MAINTAINERS file entries of the maintainer.
where NAME can be e.g. "git", "testing", "testing.TEST-NAME"
USERNAME can be "me" to identify the current user
Negative of an expression. Example:
!is:reviewed (query series that are not reviewed) !has:replies (query series that have not received any comment)
Exact match of message-id. Example:
The two prefixes are equivalent.
Search text keyword in the email message. Example: