sarahfinkel
Elite Observer

Externe Datenquellen | Suchindex aktualisieren

Jump to solution

Liebe Community,

wir haben aktuell das Problem, dass unsere lesend eingebundenen Datenquellen (externe Datenquellen) nicht automatisch in den Schindex mit aufgenommen werden.

Dies führt zu folgendem Problem/Szenario bei den Redakteuren:

  • Der Redakteur fügt einen neuen Datensatz hinzu bzw. löscht einen Datensatz (im Projekt, indem die Datenquellen bearbeitet werden können)
  • Der Redakteur möchte nun im Projekt, indem die Datenquellen lesend eingebunden sind, z.B. einen Link setzen. Geht er über die Suche, so findet er den neuen Datensatz nicht bzw. der gelöschte Datensatz wird noch angezeigt. Damit die Suchergebnisse korrekt sind, müsste er zuerst den Auftrag "rebuild search Index" ausführen.

Nun zu unseren Fragen:

  1. Gibt es irgendeine Möglichkeit zu triggern, wenn ein Datensatz bearbeitet/gelöscht oder neu angelegt wird (Listener in einem Modul o.ä.)? Dann könnte man auf diese Aktion im Projekt, in der die DQ lesend eingebunden ist, rebuildSearchIndex(dataset) auf dem geänderten Datensatz ausführen.
  2. Wie verhält es sich mit dem Auftrag "rebuild search index"? Kann man diesen auch automatisch z.B. alle zehn Minuten ausführen? Oder ist dies zu Performance-lastig und wird nicht empfohlen?
  3. Unsere Ideen für dieses Problem waren:
    1. Der Suchindex der DQ's kann manuell vom Redakteur (über Skript, Button, etc...) aktualisiert werden. Hier muss aber immer der Redakteur tätig werden ;(.
    2. Es gibt einen Auftrag (analog zu "rebuild search index"), der jedoch nur die Datenquellen berücksichtigt und automatisch in einem kurzen Intervall ausgeführt wird. Auch hier stellt sich die Frage nach der Auslastung und die Redakteure müssen unter Umständen warten bis der Suchindex aktualisiert wird.

Aus diesem Grund wäre es natürlich toll, wenn der Suchindex immer bei einer entsprechenden Aktion in den Datenquellen automatisch aktualisiert werden würde Smiley Wink.

Oder habt ihr noch andere Ideen?

Achso: Wir haben die FS-Version 5.1.414.

Liebe Grüße

Sarah

\\re-lounge GmbH

0 Kudos
1 Solution

Accepted Solutions

Hey zusammen,

wir Lösen dieses Problem, indem wir an den Freigabeworkflow ein Skript anhängen, welches die Aktualisierung des Suchindex in den Remote Projekten für diesen einen Datensatz ausführen wird.

Danke für die Hilfe!

Lg, Sarah

View solution in original post

0 Kudos
6 Replies
kohlbrecher
Crownpeak employee

Hallo Sarah,

ein automatisches Update des Suchindexes bei Änderungen an externe Datenquellen ist meines Wissens nach nicht möglich.

Wie groß die Last ist, wenn alle zehn Minuten der Index neu erstellt wird, hängt natürlich stark vom Projekt ab. Deshalb ist es schwer dazu eine Aussage zu machen.

Grüße

Jan

Hallo Sarah,

benötigst Du noch weitere Hilfe oder haben Dir die Antworten von Jan bereits geholfen?

In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße

Marian Zaplatynski

0 Kudos

Hey zusammen,

noch eine kurze Rückfrage.

Die externen Datenquellen können in einem anderen FS-Projekt durchaus bearbeitet werden (da sie dort nicht extern sind). Es gibt also keine Möglichkeit, zu triggern, wenn in diesem Projekt ein Datensatz bearbeitet wird?

Eine Lösung haben wir leider noch nicht gefunden.

Folgende Ideen haben wir jedoch:

  1. Man hängt die Aktualisierung an den Freigabe-Workflow des Datensatzes. Dann wird er zwar erst bei Freigabe des entsprechenden Datensatzes aktualisiert, aber das müsste reichen Smiley Wink
  2. Der Redakteur kann beim Auswahl eines Links auf den Datensatz manuell den Suchindex für die Datenquellen aktulisieren (durch einen Button auf dem Auswahldialog).
    Das Problem ist, dass man rebuildSearchIndex(dataset) auf jedem Datensatz in jeder DQ aufrufen muss (und das sind echt viele Smiley Wink). Hier müssen wir erstmal testen, wie lange das dann dauert.

Hat jemand hierfür noch andere Ideen?

Lg,

Sarah Münich

0 Kudos

Hallo Sarah,

Eventuell kann man unter Punkt 2) in Betracht ziehen in Java so etwas wie den ThreadPoolExecutorSerice zu nutzen, damit man die Aktualisierungen parallel ausführen kann.

Grüße Marian Zaplatynski

Hey zusammen,

wir Lösen dieses Problem, indem wir an den Freigabeworkflow ein Skript anhängen, welches die Aktualisierung des Suchindex in den Remote Projekten für diesen einen Datensatz ausführen wird.

Danke für die Hilfe!

Lg, Sarah

0 Kudos
Peter_Jodeleit
Crownpeak employee

Noch ein Hinweis zu der Performance-Auslastung durch den Auftrag, welcher den gesamten Suchindex eines Projektes neu berechnet: Dieser sollte auf keinen Fall regelmäßig aufgerufen werden, da wirklich das komplette Projekt gescannt wird.

Peter
0 Kudos