Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core JavaScript-API


JavaScript-Bibliothek common/index

Diese JavaScript-Bibliothek bietet Funktionen zum Aktualisieren des Index.

Verwendung


Binden Sie die Bibliothek stets am Anfang eines Skripts ein:

let index = require('common/index');

Funktionen


flush

Die Funktion flush aktualisiert den Index, damit alle Änderungen sichtbar werden, indem sie bei Bedarf einen commit ("flush") auslöst und synchron darauf wartet. Diese Funktion verwenden Sie, um sicherzustellen, dass alle Änderungen in den Index geschrieben und anschließend gefunden werden können.


Syntax

index.flush();


Beispiel

Das folgende Beispiel zeigt die Auswirkung der Indexaktualisierung auf das Suchergebnis an einem einfachen Beispiel.

let objects = require('common/objects');
let index = require('common/index');

// synchronous
// change is applied
let uuid = objects.find(module.id).firstParent.createPath(Date.now().toFixed(0)).UUID;

let a = objects.query('uuid:' + uuid).search('name');
// change is not visible in the index before flush

index.flush();

[a, objects.query('uuid:' + uuid).search('name')];
// change is visible in the index after flush

In diesem Beispiel wird zuerst ein Objekt mit der ID module.id gesucht, dann wird ein neuer Pfad basierend auf dem aktuellen Zeitstempel erstellt. Die UUID des neu erstellten Pfads wird gespeichert. Anschließend wird eine Abfrage nach dieser UUID durchgeführt und nach dem Namen des Objekts gesucht. Danach wird der Index aktualisiert (index.flush()). Schließlich wird erneut eine Abfrage nach der UUID durchgeführt und das Ergebnis in einer Liste zusammen mit dem vorherigen Abfrageergebnis zurückgegeben.

Die beiden Abfrageergebnisse, vor und nach index.flush(), zeigen, dass der Name erst nach dem index.flush() gefunden wird:

[ {
  "nextCursor" : null,
  "total" : 0,
  "highlights" : null,
  "rows" : [ ],
  "facetFields" : null,
  "facets" : null
}, {
  "nextCursor" : null,
  "total" : 1,
  "highlights" : null,
  "rows" : [ {
    "name" : "1723198201890"
  } ],
  "facetFields" : null,
  "facets" : null
} ]