Sun Java System Communications Services 2005Q4 Versionshinweise

Einrichten der internationalen Suche

Unabhängig davon, ob Sie Communications Express oder Connector für Microsoft Outlook verwenden, ist das Durchführen einer Suche in Ihren persönlichen Kontakten oder im öffentlichen Adressbuch für eine bestimmte Zeichenfolge ein für jede Ländereinstellung spezifischer Vorgang. Ein französischer Benutzer, der z.B. nach "Gaelle“ sucht, erwartet die Ausgabe von Einträgen mit der Zeichenfolge "Gaelle“, jedoch auch alle Einträge mit der Zeichenfolge "Gaëlle.“

Die verschiedenen Regeln, die bestimmen, wie die Einträge basierend auf der Ländereinstellung dargestellt werden, heißen Vergleichsregeln oder Zusammenstellungsreihenfolge. Die Zusammenstellungsreihenfolge bietet sprach- und kulturspezifische Informationen darüber, wie die Zeichen einer bestimmten Sprache sortiert werden sollen. Sie identifiziert Dinge, wie die Reihenfogle von Buchstaben im Alphabet, wie die Buchstaben mit Akzenten mit Buchstaben ohne Akzente verglichen werden und ob es Zeichen gibt, die beim Vergleichen von Zeichenfolgen ignoriert werden können. Die Zusammenstellungsreihenfolge berücksichtigt auch kulturspezifische Informationen über eine Sprache, wie die Richtung, in der die Sprache gelesen wird (von links nach rechts, von rechts nach links, von oben nach unten oder von unten nach oben).

Sun Java System Directory Server unterstützt eine Vielzahl von Ländereinstellungen und Vergleichsregeln (Siehe "Identifying Supported Locales“ in der Sun Java System Directory Server 5 2005Q1 Administration Reference). Je nach Benutzerumgebung müssen Sie zuerst die Ländereinstellung wählen, die in Ihrer Umgebung am sinnvollsten ist. Im Folgenden verwenden wir die englische (US) Ländereinstellung (OID = 1.3.6.1.4.1.42.2.27.9.4.34.1) als Beispiel.

Um anzugeben, welche Ländereinstellung für eine Suche verwendet werden soll, verwenden Sie die Vergleichsregel-Filtersyntax, die im Abschnitt "Searching an Internationalized Directory“ in der Sun Java System Directory Server 5 2005Q1 Administration Reference beschrieben wird. Mit dieser Syntax können Sie die Ländereinstellung sowie den Suchtyp (Gleichheit, Teilzeichenfolge usw.) angeben.

Folgender Filter führt z.B. einen Vergleich von Teilzeichenfolgen (.6) für das CN-Attribut durch, wobei die englischen (US) Vergleichsregeln verwendet werden (1.3.6.1.4.1.42.2.27.9.4.34.1). Der Filter durchsucht den CN nach Zeichenfolgen, die mit "Gae“ beginnen

cn:1.3.6.1.4.1.42.2.27.9.4.34.1.6:=Gae*

Aktualisieren der Indizes

Beim Durchführen einer LDAP-Suche sind die meisten Leistungsprobleme auf die Tatsache zurückzuführen, dass keine Indizes vorhanden sind oder diese nicht ordnungsgemäß konfiguriert sind. Standardmäßig ist Directory Server so konfiguriert, dass die von Communications Express oder Connector für Microsoft Outlook durchgeführten Suchen indiziert sind und innerhalb einer angemessenen Zeitspanne zurückgegeben werden sollten. Nichtsdestoweniger ist Directory Server nicht für internationale Suchen konfiguriert. Deshalb müssen die vorhandenen Indizes so geändert werden, dass die ausgewählten Vergleichsregeln berücksichtigt werden. Dies wird im Abschnitt "Managing Indexes“ im Sun Java System Directory Server 5 2005Q1 Administration Guide beschrieben.

So ist das CN-Attribut z.B. standardmäßig in der userRoot-Suffix indiziert:

# ldapsearch -D "cn=Directory manager" -b 
"cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config" 
"objectclass=*" 
cn=cn,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 
objectClass=top objectClass=nsIndex 
cn=cn 

nsSystemIndex=false 

nsIndexType=pres 

nsIndexType=eq 

nsIndexType=sub

Um sie mithilfe der englischen (US) Vergleichsregeln für internationale Suchen zu aktivieren, fügen Sie ein nsMatchingRule-Attribut mit der englischen (US) OID hinzu. Die Clients führen eine Teilzeichenfolgen-Suche aus, sodass es erforderlich ist, das Teilzeichenfolgen-Suffix (".6“) der OID hinzuzufügen:

#ldapmodify -D "cn=Directory manager"

dn: cn=cn,cn=index,cn=userRoot,cn=ldbm database, 

 cn=plugins,cn=config

changetype: modify

add: nsMatchingRule

nsMatchingRule: 1.3.6.1.4.1.42.2.27.9.4.34.1.6 

Hinweis –

Fügen Sie kein Leerzeichen, keinen Tabulator oder andere "unsichtbare" Zeichen am Anfang oder Ende des Wertes ein.



Hinweis –

nsMatchingRule ist ein mehrwertiges Attribut. Es können verschiedene Arten von Suchmethoden für dieselbe OID oder verschiedene OIDs hinzugefügt werden.


Anschließend müssen Sie das db2index.pl-Skript ausführen, das sich im Verzeichnis serverroot/slapd-instance befindet:

# perl db2index.pl -D "cn=Directory Manager" -w \ 
secret -n userRoot -t cn

Dieser Vorgang wird online ausgeführt und kann einige Zeit in Anspruch nehmen. Als Alternative kann jedoch auch das Suffix erneut initialisiert werden. Weitere Informationen finden Sie im Abschnitt "Reinitializing a Suffix“ im Sun Java System Directory Server 5 2005Q1 Administration Guide.

Die Konsole kann auch zum Hinzufügen der nsMatchingRule verwendet werden (siehe "Managing Indexes“ im Sun Java System Directory Server 5 2005Q1 Administration Guide).

In den folgenden Abschnitten erhalten Sie eine Liste mit den zu ändernden Indizes. Vergewissern Sie sich, dass keine nicht indizierte Suche durchgeführt wird. Prüfen Sie dazu die Zugriffsprotokolldatei von Directory Server (und suchen Sie in den Suchergebniseinträgen nach notes=U).

Konfigurieren des Suchfilters in Communications Express

Der von Communications Express verwendete Suchfilter muss für die Vergleichsregelsyntax geändert werden. Dies wird erreicht, indem die Vergleichsregelparameter aktiviert werden, die in der Datei db_config.properties (die sich im Verzeichnis deployed-path/WEB-INF/ldappstore (persönlicher Speicher) und im Verzeichnis deployed-path/WEB-INF/corp-dir (Unternehmensverzeichnis)) befindet.

Die Parameter sind:

# Collation Rule
# Uncomment below to apply collation rule

# collation_rule=en-US

# Search Fields for which collation rule should be applied.
# The fields provided here should be disambiguator formatted fields
# e.g. entry/displayname, person/givenname etc.
# Uncomment below to supply the comma-separated fields

# search_fields=entry/displayname

Heben Sie die Kommentierung der Parameter collation_rule und search_fields auf, um die Vergleichsregel zu aktivieren. Um einen anderen Satz mit Feldern in der Suche anzugeben, ändern Sie den Wert von search_fields zu den gewünschten Werten. Die collation_rule kann entweder den Sprachkennzeichner oder die OID enthalten, die dieser Sprache entspricht (im Beispiel 1.3.6.1.4.1.42.2.27.9.4.34.1), ohne das Suffix, das den Suchtyp angibt. Die Webcontainerinstanz muss gestartet werden, nachdem die Änderung durchgeführt wurde.

Die folgenden Attribute sollten auf dem LDAP-Server indiziert werden, damit eine internationale Suche nach Communications Express durchgeführt werden kann: