Dodawanie indeksów do OpenDJ

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.

Może Ci się również spodoba

Dodaj komentarz