Benutzer-Werkzeuge

Webseiten-Werkzeuge


re-indexierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
re-indexierung [2017/09/06 16:05] – [benno-bennobox2eml] lwsystemsre-indexierung [2023/04/19 10:11] (aktuell) – [benno-bennobox2eml] lwsystems
Zeile 1: Zeile 1:
-====== Re-Indexierung eines Containers ======+====== Index Update und Reindex des Archivs ======
  
  
-Zur Re-Indexierung eines Containers müssen alle E-Mails einmal neu gelesen und indexiert werden. Benno MailArchiv ist so aufgebaut, dass dem Repository und dem Index ausschließlich Daten angehängt werden können. Ein Löschen der Daten ist mit Benno-internen Methoden nicht möglich+Wird eine schon archivierte E-Mail erneut importiert, wird dieses mit Hilfe der Duplikatserkennung festgestellt. 
 +In diesem Fall wird die Mail nicht erneut archiviert. Auch wird die archivierte Mail nicht verändert. Die zu importierende E-Mail wird stattdessen mit Hilfe des Tokenizers analysiert und neu indexiert; Der Index-Eintrag der betreffenden E-Mail wird gelöscht und durch die aktualisierten Index-Daten der E-Mail ersetzt.
  
-Um einen Container komplett zu re-indexen ist es erforderlichden bestehenden Index zu löschen und alle E-Mails aus dem Repository erneut zu importierenFür den Re-Import werden die E-Mails aus dem Repository in das Inbox-Verzeichnis übertragen. Wir empfehlen die folgende Vorgehensweise+Dieses Vorgehen kann beispielsweise eingesetzt werdenwenn der Tokenizer ein vorher nicht bekanntes Dateiformat (Attachmenttyp) unterstütztDie Inhalte von Anhängen, die auf Grund unbekannter Dateiformate nicht indexiert werden konnten, können so einfach erneut indexiert werden, so dass Mails mit diesen Anhängen besser gefunden werden können.
  
-====== Vorbereitung  ======+(Hinweis: Der Tokenizer unterstützt Stand Ende 2017 ca. 1.300 unterschiedliche Dateiformate).
  
-Zuerst werden der Archvierungsund der REST-Daemon gestoppt. Dann wird der Index gelöscht oder verschoben.+====== Re-Indexierung eines Containers ======
  
-<code> +Zur Re-Indexierung eines Containers müssen alle E-Mails einmal neu gelesen und indexiert werden.
-mv /srv/benno/archive/index /srv/benno/archive/index_old +
-</code>+
  
-Nach dem Neustart der Dienste wird das Index-Verzeichnis wieder angelegt.+Um einen Container komplett zu re-indexen, ist es erforderlich, alle E-Mails aus dem Repository erneut zu importieren. Für den Re-Import werden die E-Mails aus dem Repository in das Inbox-Verzeichnis übertragen.
  
-====== Re-Import  ====== 
  
-Im Repo-Verzeichnis liegen die E-Mails als gezippte Dateien in einem erweiterten [[Archiv-Format|RFC822-Format]] vor. Da beim Re-Import nur die ursprüngliche E-Mail importiert werden soll, muss zuerst der Header abgetrennt werden. Danach muss die E-Mail [[Import#Atomares_Kopieren|"atomar"]] in die Inbox geschrieben werden. Zusätzlich ist zu beachten, daß der Speicherbedarf der Java-VM bei einner großen Anzahl gleichzeitig in die Inbox geschriebener E-Mails stark ansteigt. Daher sollte darauf geachtet werden, dass immer nur ca. 100 E-Mails gleichzeitig importiert werden. +====== Re-Import ======
  
-Zur Vereinfachung des Imports stellen wir das Perl-Script [[http://www.benno-mailarchiv.de/download/contrib/benno-bennobox2eml|benno-bennobox2eml]] zur Verfügung. Dieses durchsucht das Repo-Verzeichnis nach den Archivdateien, extrahiert die Header und schreibt die E-Mails atomar in das Inbox-Verzeichnis. Die Anzahl gleichzeitig zu importierender E-Mails kann optional angegeben werden+Im Repository-Verzeichnis liegen die E-Mails als gezippte Dateien in einem erweiterten [[Archiv-Format|RFC822-Format]]Die Dateien im Archiv enthalten einen speziellen, Benno MailArchiv-spezifischen Header mit internen Metainformationen, sowie die eigentliche E-Mail. 
 + 
 +Für den Re-Index  muss zuerst der Benno-spezifische Header entfernt werden. Die Mail ist dann wieder dem Original entsprechend. Danach muss die E-Mail [[Import#Atomares_Kopieren|"atomar"]] in die Inbox geschrieben werden. 
 + 
 +Der Re-Imports stellen kann mit dem Programm ''benno-bennobox2eml'' aus dem Paket //**benno-import-tools**// durchgeführt werden. Dieses durchsucht das Repo-Verzeichnis nach den Archivdateien, extrahiert die Header und schreibt die E-Mails atomar in das Inbox-Verzeichnis. 
  
 ===== benno-bennobox2eml ===== ===== benno-bennobox2eml =====
 +
 +Das Programm ist im Paket //benno-import-tools// enthalten.
  
 <code> <code>
-Usage: ./benno-bennobox2eml [-h] [-d] [-v] [-m <num>] -a <archive directory>+Usage: /usr/sbin/benno-bennobox2eml [-h] [-d] [-v] [-m <num>] -a <archive directory>
        [-e <export directory]        [-e <export directory]
  
-    -a        archive directory +    -a          archive (repo) directory 
-    -e        export files to this directory (default current archive directory) +    -b          boxstate file (default $archive_dir/boxstate.xml) 
-    -d        dry run +    -e          export files to directory (default current archive directory) 
-    -m <num>  max files in inbox directory +    -d          dry run 
-    -v        verbose+    -s          skip defective marked mails 
 +    -m <num>    max files in inbox directory 
 +    -v          verbose 
 +    -V          print version
 </code> </code>
  
 Beispiel-Aufruf: Beispiel-Aufruf:
  
-  ./benno-bennobox2eml -a /srv/benno/archive/repo -e /srv/benno/inbox+  sudo -u benno benno-bennobox2eml -a /srv/benno/archive/repo -e /srv/benno/inbox
  
-Die Verzeichnisstruktur unterhalb des repo_old Verzeichnisses wird nach Archiv-Dateien durchsucht. Aus den Dateien werden die RFC822 E-Mails extrahiert und in das Inbox-Verzeichnis geschrieben. Falls mehr als 250 .eml Dateien in der Inbox liegen, wird pro "überzähliger" .eml-Datei eine Pause von 0.5 Sekunden eingelegt, bevor die nächste Archivdatei extrahiert wird. 
re-indexierung.1504713918.txt.gz · Zuletzt geändert: 2017/09/06 16:05 von lwsystems