Standard LDAP matching rules used for string-type attributes are typically designed for ASCII data. Although PingDirectory can search for attributes that contain non-ASCII data, the default matching rules have some limitations, including:

  • They evaluate diacritical marks such as accents and umlauts when comparing characters.
    • The filter “(givenName=Francois)” doesn’t match a user whose givenName value is François.
    • The filter “(givenName=François)” doesn’t match a user whose givenName value is Francois.
  • They don't account for different encoding methods for the same character. The Unicode specification makes it possible to encode some non-ASCII characters in multiple ways, but the default matching rules might only match values that use the same encoding as used in the filter.

These limitations can affect searches related to non-ASCII data that reflects a regional language variant, referred to as a locale. When searching for this type of data, you can tell the server to search using a collation matching rule specific to the locale.

To search with a collation matching rule, use an extensible matching filter with the IDs for the collation matching rule and the locale. Include these values by either specifying the locale abbreviation followed by the rule abbreviation or the locale OID followed by the OID suffix of the rule.

For example, to search for entries with a givenName value that matches "Céline” for the French Canadian locale, you could use either of the following filters:

  • (givenName:fr-CA.eq:=Céline)
  • (givenName:1.3.6.1.4.1.42.2.27.9.4.78.1.3:=Céline)
Note:

PingDirectory doesn’t support indexing extensible matching filters. The server treats searches involving collation matching rules as unindexed unless they are included in an AND filter that includes other components that can be indexed.

Collation matching rules

The following table lists the supported collation matching rules, correlated with their abbreviations and OID suffixes:

Rule Description Rule abbreviations OID suffix

Equality

The filter matches entries that have the specified value for the target attribute in accordance with the associated locale.

Note:

For locale-specific filters, you can omit the abbreviation or OID suffix for the equality rule.

.eq

.3

Less-than

The filter matches entries that have a value for the target attribute that comes before the specified value when using lexicographic ordering, in accordance with the associated locale.

.lt

.1

Less-than-or-equal-to

The filter matches entries that have a value for the target attribute that either matches the specified value or comes before the specified value when using lexicographic ordering, in accordance with the associated locale.

.le or .lte

.2

Greater-than

The filter matches entries that have a value for the target attribute that comes after the specified value when using lexicographic ordering, in accordance with the associated locale.

.gt

.5

Greater-than-or-equal-to

The filter matches entries that have a value for the target attribute that either matches the specified value or comes after the specified value when using lexicographic ordering, in accordance with the associated locale.

.ge or .gte

.4

Locale language codes

The following table lists the languages by locale that PingDirectory supports for collation matching searches, correlated with their abbreviations and OIDs.

Important:

PingDirectory can only support collation matching rules for a given locale if the underlying JVM supports the locale. Check the matchingRules attribute of the cn=schema entry to determine whether the server supports collation matching for your desired locale.

Language by locale Locale abbreviation OID

Afrikaans

af

1.3.6.1.4.1.42.2.27.9.4.1.1

Albanian, Albanian (Albania)

sq, sq-AL

1.3.6.1.4.1.42.2.27.9.4.127.1

Amharic

am

1.3.6.1.4.1.42.2.27.9.4.2.1

Arabic

ar

1.3.6.1.4.1.42.2.27.9.4.3.1

Arabic (Algeria)

ar-DZ

1.3.6.1.4.1.42.2.27.9.4.6.1

Arabic (Bahrain)

ar-BH

1.3.6.1.4.1.42.2.27.9.4.5.1

Arabic (Egypt)

ar-EG

1.3.6.1.4.1.42.2.27.9.4.7.1

Arabic (India)

ar-IN

1.3.6.1.4.1.42.2.27.9.4.8.1

Arabic (Iraq)

ar-IQ

1.3.6.1.4.1.42.2.27.9.4.9.1

Arabic (Jordan)

ar-JO

1.3.6.1.4.1.42.2.27.9.4.10.1

Arabic (Kuwait)

ar-KW

1.3.6.1.4.1.42.2.27.9.4.11.1

Arabic (Lebanon)

ar-LB

1.3.6.1.4.1.42.2.27.9.4.12.1

Arabic (Libya)

ar-LY

1.3.6.1.4.1.42.2.27.9.4.13.1

Arabic (Morocco)

ar-MA

1.3.6.1.4.1.42.2.27.9.4.14.1

Arabic (Oman)

ar-OM

1.3.6.1.4.1.42.2.27.9.4.15.1

Arabic (Qatar)

ar-QA

1.3.6.1.4.1.42.2.27.9.4.16.1

Arabic (Saudi Arabia)

ar-SA

1.3.6.1.4.1.42.2.27.9.4.17.1

Arabic (Sudan)

ar-SD

1.3.6.1.4.1.42.2.27.9.4.18.1

Arabic (Syria)

ar-SY

1.3.6.1.4.1.42.2.27.9.4.19.1

Arabic (Tunisia)

ar-TN

1.3.6.1.4.1.42.2.27.9.4.20.1

Arabic (United Arab Emirates)

ar-AE

1.3.6.1.4.1.42.2.27.9.4.4.1

Arabic (Yemen)

ar-YE

1.3.6.1.4.1.42.2.27.9.4.21.1

Armenian

hy

1.3.6.1.4.1.42.2.27.9.4.89.1

Bangla

bn

1.3.6.1.4.1.42.2.27.9.4.24.1

Basque

eu

1.3.6.1.4.1.42.2.27.9.4.70.1

Belarusian, Belarusian (Belarus)

be, be-BY

1.3.6.1.4.1.42.2.27.9.4.22.1

Bulgarian, Bulgarian (Bulgaria)

bg, bg-BG

1.3.6.1.4.1.42.2.27.9.4.23.1

Catalan

ca, ca-ES

1.3.6.1.4.1.42.2.27.9.4.25.1

Chinese

zh

1.3.6.1.4.1.42.2.27.9.4.143.1

Chinese (China)

zh-CN

1.3.6.1.4.1.42.2.27.9.4.144.1

Chinese (Hong Kong)

zh-HK

1.3.6.1.4.1.42.2.27.9.4.145.1

Chinese (Mongolia)

zh-MO

1.3.6.1.4.1.42.2.27.9.4.146.1

Chinese (Singapore)

zh-SG

1.3.6.1.4.1.42.2.27.9.4.147.1

Chinese (Taiwan)

zh-TW

1.3.6.1.4.1.42.2.27.9.4.148.1

Cornish

kw

1.3.6.1.4.1.42.2.27.9.4.99.1

Croatian, Croatian (Croatia)

hr, hr-HR

1.3.6.1.4.1.42.2.27.9.4.87.1

Czech, Czech (Czech Republic)

cs, cs-CZ

1.3.6.1.4.1.42.2.27.9.4.26.1

Danish, Danish (Denmark)

da, da-DK

1.3.6.1.4.1.42.2.27.9.4.27.1

Dutch, Dutch (Netherlands)

nl, nl-NL

1.3.6.1.4.1.42.2.27.9.4.105.1

Dutch (Belgium)

nl-BE

1.3.6.1.4.1.42.2.27.9.4.106.1

English, English (United States)

en, en-US

1.3.6.1.4.1.42.2.27.9.4.34.1

English (Australia)

en-AU

1.3.6.1.4.1.42.2.27.9.4.35.1

English (Canada)

en-CA

1.3.6.1.4.1.42.2.27.9.4.36.1

English (Hong Kong)

en-HK

1.3.6.1.4.1.42.2.27.9.4.38.1

English (India)

en-IN

1.3.6.1.4.1.42.2.27.9.4.40.1

English (Ireland)

en-IE

1.3.6.1.4.1.42.2.27.9.4.39.1

English (Malta)

en-MT

1.3.6.1.4.1.42.2.27.9.4.41.1

English (New Zealand)

en-NZ

1.3.6.1.4.1.42.2.27.9.4.42.1

English (Philippines)

en-PH

1.3.6.1.4.1.42.2.27.9.4.43.1

English (Singapore)

en-SG

1.3.6.1.4.1.42.2.27.9.4.44.1

English (South Africa)

en-ZA

1.3.6.1.4.1.42.2.27.9.4.46.1

English (U.S. Virgin Islands)

en-VI

1.3.6.1.4.1.42.2.27.9.4.45.1

English (United Kingdom)

en-GB

1.3.6.1.4.1.42.2.27.9.4.37.1

English (Zimbabwe)

en-ZW

1.3.6.1.4.1.42.2.27.9.4.47.1

Esperanto

eo

1.3.6.1.4.1.42.2.27.9.4.48.1

Estonian, Estonian (Estonia)

et, et-EE

1.3.6.1.4.1.42.2.27.9.4.69.1

Faroese

fo

1.3.6.1.4.1.42.2.27.9.4.75.1

Finnish, Finnish (Finland)

fi, fi-FI

1.3.6.1.4.1.42.2.27.9.4.74.1

French, French (France)

fr, fr-FR

1.3.6.1.4.1.42.2.27.9.4.76.1

French (Belgium)

fr-BE

1.3.6.1.4.1.42.2.27.9.4.77.1

French (Canada)

fr-CA

1.3.6.1.4.1.42.2.27.9.4.78.1

French (Luxembourg)

fr-LU

1.3.6.1.4.1.42.2.27.9.4.80.1

French (Switzerland)

fr-CH

1.3.6.1.4.1.42.2.27.9.4.79.1

Galician

gl

1.3.6.1.4.1.42.2.27.9.4.82.1

German, German (Germany)

de, de-DE

1.3.6.1.4.1.42.2.27.9.4.28.1

German (Austria)

de-AT

1.3.6.1.4.1.42.2.27.9.4.29.1

German (Belgium)

de-BE

1.3.6.1.4.1.42.2.27.9.4.30.1

German (Luxembourg)

de-LU

1.3.6.1.4.1.42.2.27.9.4.32.1

German (Switzerland)

de-CH

1.3.6.1.4.1.42.2.27.9.4.31.1

Greek, Greek (Greece)

el, el-GR

1.3.6.1.4.1.42.2.27.9.4.33.1

Gujarati

gu

1.3.6.1.4.1.42.2.27.9.4.83.1

Hebrew, Hebrew (Israel)

he, he-IL

1.3.6.1.4.1.42.2.27.9.4.85.1

Hindi, Hindi (India)

hi, hi-IN

1.3.6.1.4.1.42.2.27.9.4.86.1

Hungarian, Hungarian (Hungary)

hu, hu-HU

1.3.6.1.4.1.42.2.27.9.4.88.1

Icelandic, Icelandic (Iceland)

is, is-IS

1.3.6.1.4.1.42.2.27.9.4.91.1

Indonesian, Indonesian (Indonesia)

id, id-ID

1.3.6.1.4.1.42.2.27.9.4.90.1

Irish, Irish (Ireland)

ga, ga-IE

1.3.6.1.4.1.42.2.27.9.4.81.1

Italian, Italian (Italy)

it, it-IT

1.3.6.1.4.1.42.2.27.9.4.92.1

Italian (Switzerland)

it-CH

1.3.6.1.4.1.42.2.27.9.4.93.1

Japanese, Japanese (Japan)

ja, ja-JP

1.3.6.1.4.1.42.2.27.9.4.94.1

Kalaallisut

kl

1.3.6.1.4.1.42.2.27.9.4.95.1

Kannada

kn

1.3.6.1.4.1.42.2.27.9.4.96.1

Konkani

kok

1.3.6.1.4.1.42.2.27.9.4.98.1

Korean, Korean (South Korea)

ko, ko-KR

1.3.6.1.4.1.42.2.27.9.4.97.1

Latvian, Latvian (Latvia)

lv, lv-LV

1.3.6.1.4.1.42.2.27.9.4.101.1

Lithuanian, Lithuanian (Lithuania)

lt, lt-LT

1.3.6.1.4.1.42.2.27.9.4.100.1

Macedonian, Macedonian (North Macedonia)

mk, mk-MK

1.3.6.1.4.1.42.2.27.9.4.102.1

Maltese, Maltese (Malta)

mt, mt-MT

1.3.6.1.4.1.42.2.27.9.4.104.1

Manx Gaelic

gv

1.3.6.1.4.1.42.2.27.9.4.84.1

Marathi

mr

1.3.6.1.4.1.42.2.27.9.4.103.1

Norwegian, Norwegian (Norway)

no, no-NO

1.3.6.1.4.1.42.2.27.9.4.107.1

Norwegian (Bokmål)

nb, no-NO-B

1.3.6.1.4.1.42.2.27.9.4.110.1

Norwegian (Nynorsk nn)

nn, nn-NO

1.3.6.1.4.1.42.2.27.9.4.109.1

Norwegian (Nynorsk no-NO-NY)

no-NO-NY

1.3.6.1.4.1.42.2.27.9.4.108.1

Oromo

om

1.3.6.1.4.1.42.2.27.9.4.111.1

Oromo (Ethiopia)

om-ET

1.3.6.1.4.1.42.2.27.9.4.112.1

Oromo (Kenya)

om-KE

1.3.6.1.4.1.42.2.27.9.4.113.1

Persian

fa

1.3.6.1.4.1.42.2.27.9.4.71.1

Persian (India)

fa-IN

1.3.6.1.4.1.42.2.27.9.4.72.1

Persian (Iran)

fa-IR

1.3.6.1.4.1.42.2.27.9.4.73.1

Polish, Polish (Poland)

pl, pl-PL

1.3.6.1.4.1.42.2.27.9.4.114.1

Portuguese, Portuguese (Portugal)

pt, pt-PT

1.3.6.1.4.1.42.2.27.9.4.115.1

Portuguese (Brazil)

pt-BR

1.3.6.1.4.1.42.2.27.9.4.116.1

Romanian, Romanian (Romania)

ro, ro-RO

1.3.6.1.4.1.42.2.27.9.4.117.1

Russian, Russian (Russia)

ru, ru-RU

1.3.6.1.4.1.42.2.27.9.4.118.1

Russian (Ukraine)

ru-UA

1.3.6.1.4.1.42.2.27.9.4.119.1

Serbian, Serbian (Serbia)

sr, sr-RS

1.3.6.1.4.1.42.2.27.9.4.128.1

Serbo-Croatian

sh

1.3.6.1.4.1.42.2.27.9.4.120.1

Slovak, Slovak (Slovakia)

sk, sk-SK

1.3.6.1.4.1.42.2.27.9.4.121.1

Slovenian, Slovenian (Slovenia)

sl, sl-SI

1.3.6.1.4.1.42.2.27.9.4.122.1

Somali, Somali (Somalia)

so, so-SO

1.3.6.1.4.1.42.2.27.9.4.123.1

Somali (Djibouti)

so-DJ

1.3.6.1.4.1.42.2.27.9.4.124.1

Somali (Ethiopia)

so-ET

1.3.6.1.4.1.42.2.27.9.4.125.1

Somali (Kenya)

so-KE

1.3.6.1.4.1.42.2.27.9.4.126.1

Spanish, Spanish (Spain)

es, es-ES

1.3.6.1.4.1.42.2.27.9.4.49.1

Spanish (Argentina)

es-AR

1.3.6.1.4.1.42.2.27.9.4.50.1

Spanish (Bolivia)

es-BO

1.3.6.1.4.1.42.2.27.9.4.51.1

Spanish (Chile)

es-CL

1.3.6.1.4.1.42.2.27.9.4.52.1

Spanish (Colombia)

es-CO

1.3.6.1.4.1.42.2.27.9.4.53.1

Spanish (Costa Rica)

es-CR

1.3.6.1.4.1.42.2.27.9.4.54.1

Spanish (Dominican Republic)

es-DO

1.3.6.1.4.1.42.2.27.9.4.55.1

Spanish (Ecuador)

es-EC

1.3.6.1.4.1.42.2.27.9.4.56.1

Spanish (El Salvador)

es-SV

1.3.6.1.4.1.42.2.27.9.4.65.1

Spanish (Guatemala)

es-GT

1.3.6.1.4.1.42.2.27.9.4.57.1

Spanish (Honduras)

es-HN

1.3.6.1.4.1.42.2.27.9.4.58.1

Spanish (Mexico)

es-MX

1.3.6.1.4.1.42.2.27.9.4.59.1

Spanish (Nicaragua)

es-NI

1.3.6.1.4.1.42.2.27.9.4.60.1

Spanish (Panama)

es-PA

1.3.6.1.4.1.42.2.27.9.4.61.1

Spanish (Paraguay)

es-PY

1.3.6.1.4.1.42.2.27.9.4.64.1

Spanish (Peru)

es-PE

1.3.6.1.4.1.42.2.27.9.4.62.1

Spanish (Puerto Rico)

es-PR

1.3.6.1.4.1.42.2.27.9.4.63.1

Spanish (United States)

es-US

1.3.6.1.4.1.42.2.27.9.4.66.1

Spanish (Uruguay)

es-UY

1.3.6.1.4.1.42.2.27.9.4.67.1

Spanish (Venezuela)

es-VE

1.3.6.1.4.1.42.2.27.9.4.68.1

Swahili

sw

1.3.6.1.4.1.42.2.27.9.4.131.1

Swahili (Kenya)

sw-KE

1.3.6.1.4.1.42.2.27.9.4.132.1

Swahili (Tanzania)

sw-TZ

1.3.6.1.4.1.42.2.27.9.4.133.1

Swedish, Swedish (Sweden)

sv, sv-SE

1.3.6.1.4.1.42.2.27.9.4.129.1

Swedish (Finland)

sv-FI

1.3.6.1.4.1.42.2.27.9.4.130.1

Tamil

ta

1.3.6.1.4.1.42.2.27.9.4.134.1

Telugu

te

1.3.6.1.4.1.42.2.27.9.4.135.1

Thai, Thai (Thailand)

th, th-TH

1.3.6.1.4.1.42.2.27.9.4.136.1

Tigrinya

ti

1.3.6.1.4.1.42.2.27.9.4.137.1

Tigrinya (Eritrea)

ti-ER

1.3.6.1.4.1.42.2.27.9.4.138.1

Tigrinya (Ethiopia)

ti-ET

1.3.6.1.4.1.42.2.27.9.4.139.1

Turkish, Turkish (Türkiye)

tr, tr-TR

1.3.6.1.4.1.42.2.27.9.4.140.1

Ukrainian, Ukrainian (Ukraine)

uk, uk-UA

1.3.6.1.4.1.42.2.27.9.4.141.1

Vietnamese, Vietnamese (Vietnam)

vi, vi-VN

1.3.6.1.4.1.42.2.27.9.4.142.1