Die Volltextsuche kann über eine API oder via Command-Line-Interface aufgerufen werden. Damit die Live-Suche genutzt werden kann, muss die Anwendung Suchen installiert sein.
Live-Suche anwenden
Die Live-Suche ist über die folgende URL erreichbar: https://<website>.cloudrexx.com/api/Search
Folgende URL-Argumente könnten übermittelt werden:
| Suchbegriff |
| Sprachversion z.B. de |
| Optionale ID (oder https://dev.cloudrexx.com/Content/#nodes) einer Content Node, um die Suche auf dessen Seitenbaum einzuschränken. Siehe dazu den entsprechenden Eintrag https://cloudrexx.atlassian.net/l/cp/0Yv2L6Bv |
| Optionale Optionen zur Steuerung des Suchverhaltens. Diese Optionen werden aktuell nur von der Anwendung Medienverzeichnis unterstützt. Ausgabeformat ( Beeinflusst das Ausgabeformat der Suchergebnisse. Mögliche Werte für
Das Ausgabeformat der Einträge aus dem Medienverzeichnis kann über ein FieldTemplate definiert werden. PLZ-Suche ( Beschränkt die Resultate der Anwendung Medienverzeichnis auf Einträge von Formularen mit einem Eingabefeld des Welche Kontext-Typen gibt es? Das Ausgabeformat kann über ein spezifisches FieldTemplate mit dem Kontext |
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>