Neuladen der Datenbank

Das (Neu-)Laden der Suchdatenbank wird von einem Job erledigt, der diese periodisch auf Änderungen prüft und gegebenenfalls einen Reload ausführt. Sollte die erste Suchanfrage (nach dem Serverstart) eintreffen, bevor der Lade-Job zum ersten Mal ausgeführt wurde, stößt diese Suche den Ladeprozess an.

Ein Neuladen der Datenbank kann auch manuell angestoßen werden. In diesem Fall prüft FACT-Finder, ob Änderungen an der Suchdatenbank vorliegen und führt den Reload bei Bedarf sofort aus. Dabei ist es ist möglich, die Such- und die Suggest-Datenbank sowohl zusammen als auch getrennt neu laden zu lassen.

REST-Schnittstelle

Mit FACT-Finder 7.3 ist eine REST-API hinzugekommen. Die technische Dokumentation von dieser ist in der Suchanwendung selbst enthalten und kann über folgende URL aufgerufen werden:

$stringEscapeUtils.escapeHtml($body)

Auf dieser Oberfläche erhalten Sie neben der Parameter-Dokumentation auch die Möglichkeit eine Abfrage zu testen und sich das Ergebnis davon anzuschauen. Da die Dokumentation mit Swagger erstellt worden ist, können sie mit Swagger Codegen einen Client dafür generieren und in Ihrem Code verwenden.

Die Methoden sind unter dem Punkt refreshdatabases dokumentiert.

HTTP-Schnittstelle

Je nachdem, welche Parameter und Werte Sie der Schnittstelle übergeben, verhält sich diese anders. Die Basis-URL lautet beispielsweise:

$stringEscapeUtils.escapeHtml($body)

Über den Parameter do wird definiert, welche Datenbank neu geladen werden soll. Mögliche Werte sind refreshDatabases, um nur die Suchdatenbank neuzuladen, refreshSuggestDatabases für die Suggest-Datenbank, refreshRecommenderDatabases, um die Recommendation-Datenbank neuzuladen und refreshAllDatabases für alle drei. Zudem ist es möglich, mit refreshDatabasesOnNextRequest alle drei Datenbanken bei der nächsten Anfrage neuzuladen und mit flushPersonalization die Personalisierungsdaten zu leeren (letzteres benötigt Adminrechte).

Bei allen Varianten, bis auf refreshDatabasesOnNextRequest und flushPersonalization, ist es zudem möglich, über den Parameter channel nur die Datenbank/en für einen bestimmten Channel neu laden zu lassen. Soll es für mehrere Channels gelten, so müssen die Channelnamen durch Komma getrennt übergeben werden.

War der Aufruf erfolgreich, erhalten Sie eine leere Seite als Rückgabe. Sollte ein Fehler aufgetreten sein, erhalten Sie eine Fehlerseite.

Webservice/SOAP-Schnittstelle

End of Life

Bitte beachten Sie, dass die SOAP-Schnittstelle nicht mehr erweitert oder aktualisiert wird und mittelfristig entfällt. Wir empfehlen Kunden bei einer Neuintegration diese nicht und stattdessen die REST-API zu verwenden. Sollten Sie bisher die SOAP-Schittstelle verwendet haben, können Sie diese noch weiterhin nutzen, wir empfehlen aber auch hier die Integrationsschnittstelle zu ändern, um von den Vorteilen der anderen Schnittstellen, wie eine schnellere Übertragung und somit Geschwindigkeit, zu profitieren.

Die WSDL dieser Schnittstelle erreichen Sie beispielsweise unter:

$stringEscapeUtils.escapeHtml($body)

Die verfügbaren Methoden nehmen neben den Benutzerdaten den gewünschten Channelnamen bzw. eine Liste mit diesen an.

Auf dieser Seite