Dodawanie indeksów do OpenDJ

Sorry, this entry is only available in Polish. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Indeksy to bardzo ważna rzecz w katalogu LDAP. Jeśli są problemy wydajnościowe z katalogiem i zacznie się szukać przyczyn, to wszelkie dokumenty w sieci zalecają w pierwszej kolejności właśnie sprawdzenie indeksów. Indeksy można dodać importując odpowiednio przygotowanego LDIFa, np.:


dn: ds-cfg-attribute=accountActive,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
objectClass: top
objectClass: ds-cfg-local-db-index
ds-cfg-index-entry-limit: 4000
ds-cfg-index-type: equality
ds-cfg-index-type: presence
ds-cfg-attribute: accountActive

dn: ds-cfg-attribute=displayName,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
objectClass: top
objectClass: ds-cfg-local-db-index
ds-cfg-index-entry-limit: 4000
ds-cfg-index-type: equality
ds-cfg-index-type: substring
ds-cfg-attribute: displayName

Zapisujemy jako np. phamm-indexes.ldif i importujemy do LDAPa:

# ./OpenDJ-2.4.3/bin/ldapmodify -a -D cn=dirmgr -f phamm-indexes.ldif 
Password for user 'cn=dirmgr':
Processing ADD request for ds-cfg-attribute=accountActive,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
ADD operation successful for DN ds-cfg-attribute=accountActive,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
...
Processing ADD request for ds-cfg-attribute=displayName,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
ADD operation successful for DN ds-cfg-attribute=displayName,cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
...

Załatwione? No prawie. System wcześniej nie wiedział, że ma te atrybuty poindeksować, trzeba więc mu to nakazać:

# ./OpenDJ-2.4.3/bin/stop-ds
# ./OpenDJ-2.4.3/bin/rebuild-index -b dc=domain,dc=tld --rebuildAll
...
[12/Jul/2011:12:48:58 +0200] category=JEB severity=NOTICE msgID=8847510 msg=Due to changes in the configuration, index dc_domain_dc_tld_displayName is currently operating in a degraded state and must be rebuilt before it can be used
[12/Jul/2011:12:48:58 +0200] category=JEB severity=NOTICE msgID=8847510 msg=Due to changes in the configuration, index dc_domain_dc_tld_accountActive is currently operating in a degraded state and must be rebuilt before it can be used
...
[12/Jul/2011:12:48:59 +0200] category=JEB severity=NOTICE msgID=8847538 msg=DN phase two processing completed. Processed 2 DNs
[12/Jul/2011:12:48:59 +0200] category=JEB severity=NOTICE msgID=8847493 msg=Rebuild complete. Processed 2 entries in 0 seconds (average rate 2.2/sec)
# ./OpenDJ-2.4.3/bin/start-ds

Na razie mam tylko dwa wpisy, więc indeksy przebudowują się szybko, przy kilkunastu tysiącach entry może to trochę potrwać, warto więc zadbać o indeksy od razu.

Indeksy aktualizują się automatycznie przy dodawaniu nowych wpisów za pomocą ldapmodify (ldapadd). Natomiast jeśli importujemy wpisy wprost do backendu, to należy pamiętać o przebudowie indeksów.

You may also like...

Leave a Reply