[PATCH 9/9] add has: query prefix to search for specific properties
Jani Nikula
jani at nikula.org
Sat Aug 13 02:38:40 PDT 2016
On Sat, 06 Aug 2016, David Bremner <david at tethera.net> wrote:
> David Bremner <david at tethera.net> writes:
>
>>
>> +The **has:** prefix searches for messages with a particular
>> +<key>=<value> property pair. Properties are used internally by notmuch
>> +(and extensions) to add metadata to messages. A given key can be
>> +present on a given message with several different values.
>> +
>
> I probably should have added to the commit message that this
> documentation is intentionally minimal, because it's not intended for
> people creating properties; that should go in API documentation, I think.
>
>
>> + { "has", "XPROPERTY" },
>> /*
>> * Without the ":", since this is a multi-letter prefix, Xapian
>> * will add a colon itself if the first letter of the path
>
> I don't really understand the comment on the next line (since it seems
> that no : is added to XPROPERTY by Xapian), but I guess we should
> probably be consistent. Maybe Jani can explain the comment?
My recollection is vague, but it has to do with user-defined prefixes
(XSOMETHING) and terms beginning with uppercase letters. I think it
would possibly be useful (mandatory?) to append ":" at the end of
XPROPERTY, if it's possible we'll have properties beginning with
uppercase letters.
Quoting https://xapian.org/docs/omega/termprefixes.html
"""
X starts a multi-capital letter user-defined prefix. If you want a
prefix for something without a standard prefix, you create your own
starting with an X (e.g. XSHOESIZE). The prefix ends with the first
non-capital. If the term you're prefixing starts with a capital, add a
":" between prefix and term to resolve ambiguity about where the prefix
ends and the term begins.
"""
BR,
Jani.
More information about the notmuch
mailing list