Kurzbeschreibung
Dieser Job optimiert einen ausgewählten Index in periodischen Abständen. Durch die Optimierung werden alle Index-Segmente zu einem Segment zusammengefasst, was schnellere Suchanfrage ermöglicht und die Anzahl der offenen Referenzen innerhalb des Indexes minimiert. Zu viele offene Referenzen können auf manchen Systemen zu abstürzen führen (die Anzahl der zulässigen Referenzen ist vom System begrenzt). Die Indizierungsgeschwindigkeit bleibt allerdings unverändert.
Der LUCENE-Optimierungsprozess schützt den Index vor Korruption, allerdings wird daher zur Optimierung in der Regel der 2-fache Speicherplatz des Indexes benötigt. Ist dies nicht gewährleistet, wird keine Optimierung durchgeführt.
Zur Sicherheit sollte genügend Speicherplatz für den Index bereitgestellt werden, im Idealfall ein Vielfaches der erwarteten Indexgröße.
Einrichtung
Konfiguration
Zunächst muss der SCHEDULER-Service konfiguriert werden. Siehe dazu die Seite Einrichtung von Scheduler Services.
Als Serviceklasse muss folgende Property gesetzt werden:
B3P_SCHEDULER_REGISTER_CLASSNAME | org.b2bbp.service.inbound.scheduled.IndexOptimizationJob |
Konfiguration der Service-Properties (jobspezifisch)
Folgende Properties sind zur Konfiguration vorgesehen.
B3P_SEARCH_INDEX_TYPE |
Angabe des Index-Typs, der optimiert werden soll. Hier wird die Global Property eingetragen die den Index-Pfad angibt. Beispiel: B3P_SEARCH_INDEX_DIRECTORY |
B3P_MAX_ATTEMPTS (optional) |
Angabe wie oft maximal versucht werden soll die Optimierung durchzuführen. Format: Integer |
B3P_PAUSE_MILLIS (optional) |
Angabe des ZeitIntervalls in Millisekunden, wie lange zwischen zwei versuchen gewartet werden soll. Format: Integer |
LOCK_NAME (optional) |
Angabe des Names des Lockes, welches gelockt wird, wenn der Service ausgeführt wird. Format: String |