Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

Nicht erkannte Dokumente erneut indizieren

Haben Sie agorum core länger im Einsatz und nachträglich die agorum core ocr eingine eingebunden, existieren mit großer Wahrscheinlichkeit Dokumente in Ihrem System, deren Textinformationen nicht vorhanden sind.

Werden diese dennoch benötigt, können Sie auch von bereits abgelegten Dokumenten im agorum core-System eine nachträgliche Textindizierung starten. Wie lange diese Indizierung dauert, hängt von verschiedenen Faktoren ab:

Auch wenn Sie derzeit Ihren bereits vorhandenen Datenaltbestand neuindizieren, können Sie wie gewohnt mit agorum core arbeiten. Denn das System unterscheidet zwischen Dokumenten, die bereits in agorum core lagen und durch das nachfolgende Skript neu indiziert werden und solchen, die frisch nach agorum core gelangen.

Neue Dokumente erhalten eine höhere Priorität, während die erneut indizierten Dokumente eine niedrige Priorität erhalten. Ihre alltägliche Arbeit wird somit nicht negativ beeinflusst.

Die erneute Indizierung durchführen


  1. Öffnen Sie als Administrator die JavaScript-Konsole von agorum core.
  2. Tragen Sie folgendes Skript ein:
    /* global sc */ 
    
    let objects = require('common/objects');
    let transaction = require('common/transaction');
    
    // this script may take a while, depending on the amount of objects to delete
    
    let query = 'nameextension:(pdf OR docx) inpath:9999 contentonly:"documenttext.contentnotfound" NOT contentsize:0';
    let limit = 100; // -1 = all, you can limit the amount of items, to handle
    let done = 0;
    
    let amount = objects.query(query).includeHidden(true).limit(0).search('uuid').total;
    
    transaction(t => {
      objects.query(query).includeHidden(true).iterate('uuid', row => {
        if (limit !== -1 && done >= limit) return;
    
        let object = objects.tryFind(row.uuid);
        if (!object) return;
    
        // uncomment to activate deletion
        object.deleteDocumentText();
        objects.reIndex(object);
        done ++;
        
        // restart transaction every 100th object
        if (done % 100 === 0) t.restart();
      });
    });
    
    'finished, amount of objects reindexed: ' + done + ' of ' + amount;
  3. Führen Sie das Skript aus.

    Ergebnis: Die Indizierung wird im Hintergrund gestartet.

    Hinweise:
    • Das Skript kann in Abhängigkeit der Anzahl der Dokumente, die bei diesem Vorgang gefunden werden, lange laufen. Sie können auch über die Angabe bei limit die Anzahl verringern. Zum Testen können Sie die Query auch in die Suchleiste von agorum core eintragen und prüfen, wie viele Objekte davon betroffen wären.
    • Haben Sie den Indizierungsprozess gestartet und ist das Skript beendet, können Sie jederzeit den agorum core-Server beenden und neu starten. Das System organisiert sich selbst und stellt sicher, dass es zu keinen Warteschlangenverlusten kommt.