Live-Suche (API)

Geändert am Thu, 14 Apr 2022 um 02:30 PM

Die Volltextsuche kann über eine API (oder via Command-Line-Interface) aufgerufen werden.


Voraussetzung

Damit die Live-Suche genutzt werden kann, muss die Anwendung Suchen (Search) im Content Manager installiert sein.


Anwendung

Die Live-Suche ist über die folgende URL erreichbar: https://<website>.cloudrexx.com/api/Search
Folgende URL-Argumente könnten übermittelt werden:

  • term=<keyword>
    Suchbegriff nach dem gesucht werden soll
  • locale=<sprachversion>
    Sprachversion, in welcher gesucht werden soll. Z.B. "de"
  • nodeId=<id>
    Optionale ID (oder Node-Platzhalter) einer Content Node, um die Suche auf dessen Seitenbaum einzuschränken. Siehe dazu den entsprechenden KB-Eintrag


Die Suche liefert ein JSON-Objekt zurück, welches die folgende Struktur aufweist:

[
    {
        Score: <score>,
        Title: <Titel des Suchergebnis>,
        Content: <Kurzbeschreibung des Suchergebnis>,
        Link: <URL zum Suchergebnis>,
        Component: <Anwendung, aus welcher das Suchergebnis stamt>,
        Date: <bearbeitungsdatum>
    },
    {
        Score: <score>,
        Title: <Titel des Suchergebnis>,
        Content: <Kurzbeschreibung des Suchergebnis>,
        Link: <URL zum Suchergebnis>,
        Component: <Anwendung, aus welcher das Suchergebnis stamt>,
        Date: <bearbeitungsdatum>
    },
    ...
]


Beispiel

Platziere den folgenden Code in die Anwendungsseite der Search-Anwendung.
Damit erhält die Such-Box eine Live-Suche (Autovervollständigung).

<script>
cx.ready(function(){
    jQuery( ".searchbox" ).autocomplete({
        source: function( request, response ) {
            url="/api/Search";
            data = {
                term: request.term
            }
            lang = cx.variables.get('language');
            if (lang != undefined) {
                data.locale = lang;
            }
            jQuery.getJSON(
                url,
                data,
                function( data ) {
                    var result = new Array();
                    for (id in data) {
                        result.push({
                            id: id,
                            value: data[id].Title,
                            url: data[id].Link
                        });
                    }

                    response(result);
                }
            );
        },
        minLength: 2,
        select: function(event, ui) {
            window.location = ui.item.url;
        }
    } );
});
</script>



War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren