Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core JavaScript-API > agorum core smart search
Dieses Dokument beschreibt, wie Sie den Solr-Suchindex in agorum core vollständig löschen und neu aufbauen können. Diese Operation sollte nur in Ausnahmefällen durchgeführt werden, da sie erhebliche Auswirkungen auf die Systemverfügbarkeit hat.
Achtung: Das Neuerstellen des Solr-Index ist eine kritische Operation, die nur von erfahrenen Administratoren durchgeführt werden sollte. Die Ausführung führt dazu, dass Objekte temporär nicht über die Suche auffindbar sind.
Der Solr-Index speichert alle durchsuchbaren Informationen der agorum core Objekte. In seltenen Fällen kann es notwendig sein, diesen Index komplett zu löschen und neu aufzubauen. Dazu zählen:
Achtung: Beachten Sie folgende Auswirkungen, bevor Sie diese Operation ausführen:
| Auswirkung | Beschreibung |
|---|---|
| Index wird gelöscht | Der gesamte Suchindex wird unwiderruflich gelöscht. |
| Neuindizierung beim Neustart | Beim nächsten Neustart von agorum core werden alle Objekte in eine Queue geschoben und im Hintergrund neu indiziert. |
| Lange Laufzeit | Die Neuindizierung kann je nach Datenmenge Stunden, Tage oder sogar Wochen dauern. |
| Eingeschränkte Suchfunktion | Während der Neuindizierung sind viele Objekte über die Suche nicht auffindbar. |
| Reihenfolge | Die Indizierung erfolgt von neu nach alt – neuere Objekte sind zuerst wieder suchbar. |
Verwenden Sie folgendes JavaScript, um den Solr-Index neu aufzubauen:
Hinweis: Das Skript enthält einen Sicherheitsmechanismus. Die Funktion run() ist standardmäßig auskommentiert und muss manuell aktiviert (einkommentiert) werden.
let { RecreateIndexHelper } = Packages.agorum.roi.autoupdate.common;
let json = require('client/json');
let solr = json('http://localhost:8981/solr');
let run = () => {
// Step 1: delete existing collection
solr('/admin/collections').get({
action: 'DELETE',
name: 'agorumsolr01',
});
// Step 2: create new collection
solr('/admin/collections').get({
action: 'CREATE',
name: 'agorumsolr01',
'collection.configName': 'agorumsolr01',
nodes: '1',
numShards: '1',
maxShardsPerNode: '1',
replicationFactor: '1',
});
// Step 3: enable recreate at next start
RecreateIndexHelper.createRecreateInfo(1, 'solr');
};
// ATTENTION: Only remove the comment signs below
// if you are fully aware of the consequences
// run();
run(); am Ende des Skripts.Tipp: Planen Sie die Ausführung für Zeiten mit geringer Systemlast, idealerweise außerhalb der Geschäftszeiten oder am Wochenende.