You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nach dem Solr Update indiziert der IndexBuilder jedes Dokument einzeln, was für eine deutlich schlechtere Performanz sorgt. Das muss wieder geändert werden, so daß wieder mehrere (default = 10) Dokumente auf einmal indiziert werden, bevor ein Solr Commit durchgeführt wird.
Die größe der Blöcke sollte konfigurierbar sein, und der Code zeitgleich aufgeräumt werden. Der eigentliche Code sollte in Klassen in die Library wandern, so daß er auch unabhängig getestet werden kann. Das Skript SolrIndexBuilder sollte so schlank wie möglich sein.
Es wurden bereits einige Verbesserungen umgesetzt. Dokumente werden in Blöcken indexiert. Das kann auf der Kommandozeile beim Aufruf der Indexierung konfiguriert werden.
Der Hash wird für jede Datei dreimal (3) berechnet. Es ist noch nicht klar wodurch das passiert. Diese "Kleinigkeiten" summieren sich und beeinflussen die Performanz negativ. Die Ergebnisse des Profiling mit XDebug sind schwer zu interpretieren. Die Anzeige in IntelliJ scheint seltsam.
Im Volltextcache wird der Hash der Datei für den Dateinamen verwendet. Das macht auf den ersten Blick Sinn, aber sorgt auch dafür, daß bei jeder Indizierung der Hashwert berechnet werden muss. Das dauert nicht lange, aber die größe der Dateien ist begrenzt (16 MB?), womit gerade die großen Dateien, bei denen die Extraktion noch teuerer ist, nicht im Cache landen, sondern immer wieder neu extrahiert werden müssen. Es sollte ein alternativer Algorithmus für die Namen der Cache-Dateien gefunden werden.
Nach dem Solr Update indiziert der IndexBuilder jedes Dokument einzeln, was für eine deutlich schlechtere Performanz sorgt. Das muss wieder geändert werden, so daß wieder mehrere (default = 10) Dokumente auf einmal indiziert werden, bevor ein Solr Commit durchgeführt wird.
Die größe der Blöcke sollte konfigurierbar sein, und der Code zeitgleich aufgeräumt werden. Der eigentliche Code sollte in Klassen in die Library wandern, so daß er auch unabhängig getestet werden kann. Das Skript SolrIndexBuilder sollte so schlank wie möglich sein.
Intern: https://tickets.zib.de/jira/browse/OPUSVIER-3554
The text was updated successfully, but these errors were encountered: