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>