Matching rules

A matching rule provides guidelines for string comparison during a search operation. These rules are divided into three categories:

Start of changeThe directory server supports equality matches for all syntaxes except binary. For attributes defined using a binary syntax, the server only supports existence searches, for example "(jpegphoto=*)". For the IA5 String and Directory String syntaxes, an attribute definition can be further defined as case exact or case ignore. For example, the cn attribute uses the caseIgnoreMatch matching rule making the values "John Doe" and "john doe" equivalent. For case ignore matching rules, comparison is done after converting values to uppercase. The uppercase algorithm is not locale-sensitive and may not be correct for all locales.End of change

Start of changeThe directory server supports substring matching for Directory String, IA5 String, and Distinguished Name syntax attributes. Search filters for substring matches use the "*" character to match zero or more characters in a string. For example, the search filter "(cn=*smith)" matches all cn values ending with the string "smith".End of change

Start of changeOrdering matches are supported for Integer, Directory String, IA5 String and Distinguished Name syntaxes. For string syntaxes, ordering is based on a simple byte ordering of the UTF-8 string values. If the attribute is defined with a case ignore matching rule, ordering is done using uppercase string values. As noted earlier, the uppercase algorithm may not be correct for all locales.End of change

Start of changeIn the IBM Directory Server, the substring and ordering matching behavior is implied by the matching rule: all syntaxes that support substring matching have an implied substring matching rule, and all syntaxes that support ordering have an implied ordering rule. For attributes defined using a case ignore matching rule, the implied substring and ordering matching rules are also case ignore.End of change

Equality matching rules
Matching Rule OID Syntax
caseExactIA5Match 1.3.6.1.4.1.1466.109.114.1 Directory String syntax
caseExactMatch 2.5.13.5 IA5 String syntax
caseIgnoreIA5Match 1.3.6.1.4.1.1466.109.114.2 IA5 String syntax
caseIgnoreMatch 2.5.13.2 Directory String syntax
distinguishedNameMatch 2.5.13.1 DN - distinguished name
generalizedTimeMatch 2.5.13.27 Generalized Time syntax
ibm-entryUuidMatch 1.3.18.0.2.22.2 Directory String syntax
integerFirstComponentMatch 2.5.13.29 Integer syntax - integral number
integerMatch 2.5.13.14 Integer syntax - integral number
objectIdentifierFirstComponentMatch 2.5.13.30 String for containing OIDs. The OID is a string containing digits (0-9) and decimal points (.).
objectIdentifierMatch 2.5.13.0 String for containing OIDs. The OID is a string containing digits (0-9) and decimal points (.)
octetStringMatch 2.5.13.17 Directory String syntax
telephoneNumberMatch 2.5.13.20 Telephone Number syntax
uTCTimeMatch 2.5.13.25 UTC Time syntax
Ordering matching rules
Matching rule OID Syntax
caseExactOrderingMatch 2.5.13.6 Directory String syntax
caseIgnoreOrderingMatch 2.5.13.3 Directory String syntax
distinguishedNameOrderingMatch 1.3.18.0.2.4.405 DN - distinguished name
generalizedTimeOrderingMatch 2.5.13.28 Generalized Time syntax
Substring matching rules
Matching rule OID Syntax
caseExactSubstringsMatch 2.5.13.7 Directory String syntax
caseIgnoreSubstringsMatch 2.5.13.4 Directory String syntax
telephoneNumberSubstringsMatch 2.5.13.21 Telephone Number syntax
Note:
UTC-Time is time string format defined by ASN.1 standards. See ISO 8601 and X680. Use this syntax for storing time values in UTC-Time format. See Generalized and UTC time.