bx:websearch
Dieses Tag ermöglicht die Darstellung von Suchergebnissen der Webseite. Die Suche ist über die Funktionen des Jakarta Lucene Projektes realisiert worden. Das Web muss vorher indiziert worden sein. Zum Ausklammern von Bereichen aus der Suche verwendet man bx:scanner
(ab Version 3.3.2) Texte werden beim Indizieren und beim Suchen gleich zerlegt, und deutsche Wortformen werden zusammengeführt – die Suche nach „Straßen“ findet auch „Straße“. Bewertet wird nach BM25; die frühere Bewertung ist über den Action-Parameter similarity-classic weiter wählbar.
Eingabefeld
<bx:websearch.input />
Es wird ein Text-Inputfeld erzeugt, welches in Suchformularen verwendet werden kann. Falls schon eine Suche stattgefunden hat, enthält das Feld den Suchtext.
Hauptschleife
<bx:websearch [max="{n}"] [maxparam="{paramname}"] [indexparam="index"]> Inhalt </bx:websearch>
Dieses Tag bildet die Hauptschleife um die Suchergebnisse. Zur Verwendung im Inhalt stehen die nun folgenden Tags bereit.
Bisher mußte der Blätterparameter „index“ heißen. Und bei den Containerfiltern (Teasern) in der Seite mußte man indexparam auf etwas anderes setzen. Nun kann der Parametername selbst definiert werden.
<bx:websearch.previous|next|firstshown|lastshown> lesen den neuen Parameter von der <bx:websearch>-Schleife und verlinken jetzt mit diesen Namen.
max
maximale Anzahl an Ausgaben
maxparam
Request-Parameter, der den Zahlenwert für den Überlauf enthält (ab Version 2.5.9)
indexparam
Name des Blätterparameters
websearch.title
<bx:websearch.title/>
gibt den Titel der Seite (<title> HTML-Tag) oder, falls dieser nicht existiert, "<ohne Titel>" aus
websearch.rank
<bx:websearch.rank/>
Rangfolge des Ergebnisses, beginnend mit 1
websearch.score
<bx:websearch.score/>
die Wertung des Suchergebnisses als Gleitkommazahl
(ab Version 3.3.2) In die Wertung fließt auch die Aktualität der Seite ein, sofern die Seite ein Datum ausgibt – siehe websearch.date weiter unten und den Action-Parameter boost-date.
websearch.relevanz
<bx:websearch.relevanz/>
eine Wertung des Ergebnisses als Ganzzahl mit Prozentzeichen
websearch.stars
<bx:websearch.stars [max="<n>"]> Inhalt </bx:websearch.stars>
Symbole als Relevanzanzeige ausgeben
max
maximale Anzahl an Symbolen (Standard: 5)
Der Inhalt bestimmt das Symbol, er kann z.B. ein bx:bild-Tag enthalten
websearch.link
<bx:websearch.link> Inhalt </bx:websearch.link>
<bx:websearch.link />
verlinkt den Inhalt mit der Fundstelle. Als geschlossenes Tag wird die URL verlinkt (ab Version 2.5.9)
websearch.url
<bx:websearch.url/>
gibt die URL der Fundstelle an. ab Version 2.5.8
websearch.path
<bx:websearch.path/>
gibt den Pfad zur Fundstelle an. Es handelt sich um die URL, deren Hostname abgeschnitten wurde. ab Version 2.5.9
websearch.description
<bx:websearch.description/>
die Beschreibung des Dokuments (HTML <meta> Wert "description")
websearch.date
<bx:websearch.date [format="dd.MM.yyyy"]/>
das Datum der gefundenen Seite (ab Version 3.3.2)
Das Datum stammt aus der Seite selbst, dort im Kopf angegeben als <meta name="date" content="2026-08-13">. Seiten ohne solche Angabe – typisch Übersichts- und Listenseiten – geben hier nichts aus. Dasselbe Datum steuert die Aufwertung neuerer Seiten im Suchergebnis (Action-Parameter boost-date, siehe Suche im Web).
Gelesen werden, in dieser Reihenfolge:
<meta name="date">
<meta property="article:published_time"> (OpenGraph, auch als name=)
<meta name="DC.date"> bzw. dcterms.date (Dublin Core)
<meta name="published"> (die bisher schon unterstützte Angabe)
<time datetime="…"> – das erste im Dokument
Als Datumsformat werden ISO-Angaben (2026-08-13, auch mit Uhrzeit und Zeitzone) sowie das deutsche Format (13.08.2026) verstanden. Eine unverständliche Angabe gilt als kein Datum.
format
Datumsformat für die Ausgabe, z.B. dd.MM.yyyy. Ohne Angabe wird das mittlere deutsche Format verwendet (13.08.2026).
websearch.navname
<bx:websearch.navname/>
der Name des entsprechenden Navigationspunktes
websearch.navid
<bx:websearch.navid/>
die ID des entsprechenden Navigationspunktes
websearch.previous
<bx:websearch.previous [hide] [url="{link}"] />
<bx:websearch.previous [hide] [url="{link}"]> Linktext </bx:websearch.previous>
(steht außerhalb der Schleife) einen Link zur vorigen Ergebnisseite generieren
hide
es wird nichts ausgegeben wird, wenn es keine nächste Seite gibt
url
Ziel-Dateiname festlegen (Standard ist die aktuelle Seite)
Linktext
Ein Linktext kann als Tag-Inhalt angegeben werden (Standard: "weiter >>").
websearch.next
<bx:websearch.next [hide] [url="{link}"] />
<bx:websearch.next [hide] [url="{link}"]> Linktext </bx:websearch.next>
(steht außerhalb der Schleife) einen Link zur nächsten Ergebnisseite generieren Parameter: siehe unter websearch.previous
websearch.totalhits
<bx:websearch.totalhits/>
(steht außerhalb der Schleife) Gesamtzahl der Ergebnisse
websearch.firstshown
<bx:websearch.firstshown/>
(steht außerhalb der Schleife) Nummer des ersten Ergebnisses auf der Seite
websearch.lastshown
<bx:websearch.lastshown/>
(steht außerhalb der Schleife) Nummer des letzten Ergebnisses auf der Seite
websearch.query
<bx:websearch.query encode="typ"/>
(steht außerhalb der Schleife) der Begriff/Text, nach dem gesucht wurde
encode
Hiermit kann der ausgegebene Text für verschiedene Formate kodiert werden:
- html
- javascript
- sql (zur Verwendung in SQL für Strings)
- sql-like (zur Verwendung in SQL mit LIKE)
- sql-rlike (zur Verwendung in SQL mit RLIKE und REGEXP)
- url
- xml
websearch.if
<bx:websearch.if [not] [empty | scrollable | morethan="<n>" | lessthan="<n>"] > Inhalt </bx:websearch.if>
(steht außerhalb der Schleife) zeigt Inhalt nur unter bestimmten Bedingungen an. Nur, wenn Suche bereits stattgefunden hat:
(Falls keiner der vier Parameter angegeben wurde, erfolgt die Ausgabe nur, wenn bereits eine Suche erfolgt ist (oder auch nich, bei not). )
empty
es wurden keine Suchergebnisse gefunden; darf auch innerhalb der Schleife verwendet werden. Um das Gegenteil abzufragen, wird not verwendet.
scrollable
es sind mehr Seiten vorhanden (Anzahl Ergebnisse > max)
morethan / lessthan
- morethan: es wurden mehr als
<n>Ergebnisse gefunden - lessthan: es wurden weniger als
<n>Ergebnisse gefunden
Eingabefeld
<bx:websearch.input />
Es wird ein Text-Inputfeld erzeugt, welches in Suchformularen verwendet werden kann. Falls schon eine Suche stattgefunden hat, enthält das Feld den Suchtext.
Beispiele
<bx:tag.feature param="value" />
Weitere Beispiele unter Snippets/Websuche.