Suche
Überblick
Suche V1 ist eine zentrale CMS-Funktion, die eine datenbankgestützte öffentliche Suche über veröffentlichte Seiteninhalte bereitstellt.
- Die Suche indexiert nur veröffentlichte öffentliche Seiten.
- Suchzeilen sind nach Site und Sprache (Locale) eingegrenzt.
- Die Suche verwendet eine abgeleitete Tabelle
public_search_index. - Die Suche benötigt keine externen Dienste wie Meilisearch, Algolia, Elasticsearch oder Scout.
Was indexiert wird
- Titel, Slug und öffentliche Pfad-Metadaten der Seitenübersetzung
- seiteneigene veröffentlichte Block-Bäume in aktivierten Slots
- kompatible Shared-Slot-Inhalte, wie sie von der öffentlichen Seite konsumiert werden
Die Suche indexiert nicht:
- Seiten im Entwurfsstatus, in Prüfung, archivierte oder verborgene interne Seiten
- Shared-Slot-Quellseiten als eigenständige Suchergebnisse
- deaktivierte Slots
- Site-übergreifende, inaktive, Shell-inkompatible oder Slot-inkompatible Shared-Slot-Inhalte
- nur für Administratoren sichtbare Beschriftungen, Blocktypnamen, CSS-Klassen oder rohe Einstellungs-Blobs als Suchinhalte
- SEO-Beschreibungen, Keywords und Open-Graph-Metadaten der Seite als öffentliche durchsuchbare Textinhalte
Die Suche kann den Titel der Seitenübersetzung weiterhin verwenden, da dieser Teil der öffentlichen Seitenidentität ist; SEO-Überschreibungen der Seite werden in Suche V1 ansonsten jedoch als Head-Metadaten und nicht als durchsuchbarer Textinhalt behandelt.
Öffentliche Suchrouten
- Standardsprache (Locale):
/search?q=term - Nicht-Standardsprache (Locale):
/{locale}/search?q=term - erweiterter JSON-Endpunkt:
/search.json?q=term - erweiterter lokalisierter JSON-Endpunkt:
/{locale}/search.json?q=term
Der aktuelle Host löst die Site auf, und das Routenpräfix löst die Sprache (Locale) auf – nach demselben öffentlichen Routing-Modell wie bei Seiten.
Öffentliche Such-UX
Die primäre öffentliche UX ist ein erweitertes Suchmodal, das über den Suchauslöser in Header Actions geöffnet wird, sofern JavaScript verfügbar ist.
- der Auslöser bleibt ein normaler Link auf die
/search-Route der aktuellen Sprache, sodass direkte Links, die Nutzung ohne JavaScript und der Barrierefreiheits-Fallback weiterhin funktionieren - die Modal-Ergebnisse werden von
public_search_indexgespeist - die Ergebnisse bleiben auf die aktuell aufgelöste Site und Sprache (Locale) eingegrenzt
- die Modal-Beschreibung kann die aufgelöste Site-Bezeichnung nennen, damit Benutzer sehen, welche Site durchsucht wird
- die Fallback-Seite
/searchbleibt die kanonische Erfahrung ohne JavaScript und für direkte Links
Das öffentliche Suchmodal verwendet ausschließlich die Site-Identität:
- die Rangfolge der Site-Bezeichnung ist
display_name, dannseo_title, dannname - die Projekt-Identität unter
System -> Settingsist nur für Administratoren bestimmt und beeinflusst weder Texte noch Umfang der öffentlichen Suche
Der JSON-Endpunkt liefert sichere, strukturierte Nutzdaten für das Modal:
- normalisierte
query countminimum_lengthresultsmittitle,urlundexcerptno_results-Meldung, falls zutreffendminimum_query_length-Meldung, falls zutreffend
Der Endpunkt gibt keine Administrationsdaten, keine Entwurfsinhalte und kein rohes, unsicheres HTML preis.
Suchformular-Block
Verwenden Sie den erstklassigen Block Search Form, um ein Suchformular in einem beliebigen öffentlichen Slot zu platzieren.
- übersetzte Felder: barrierefreie Beschriftung, Platzhalter, Schaltflächenbeschriftung
- gemeinsame Felder: Sichtbarkeit und Variante der Schaltfläche
- Standardziel: die aufgelöste Suchroute der aktuellen Site
- der aktuelle
q-Wert bleibt erhalten, wenn der Block auf der Suchseite gerendert wird - er sendet weiterhin als normales GET-Formular an
/searchund wird nicht in den Modal-Ablauf gezwungen
Admin-Bildschirm
Super-Administratoren können den Suchstatus unter Admin -> Maintenance -> Search Rebuild einsehen.
Der Bildschirm zeigt:
- Gesamtzahl der indexierten Zeilen und Zeitstempel der letzten Indexierung
- Abdeckung nach Site
- Abdeckung nach Sprache (Locale)
- Aktion zum Neuaufbau
Rebuild-Befehl
Verwenden Sie den nicht-destruktiven Rebuild-Befehl, wenn Sie abgeleitete Suchzeilen neu erstellen müssen:
php artisan search:rebuild
php artisan search:rebuild --site=default
php artisan search:rebuild --locale=tr
php artisan search:rebuild --page=123
Der Befehl baut nur den angeforderten Suchbereich neu auf und verändert keine CMS-Inhalte.
Fehlt die Suchtabelle in der aktuellen Installation, führen Sie zuerst php artisan migrate aus, damit der abgeleitete Index erstellt werden kann.
Portabilitätsgrenze
public_search_index sind abgeleitete Laufzeitdaten.
- sie können in Umgebungs-Backups und -Wiederherstellungen vorkommen, weil diese auf der gesamten Datenbank arbeiten
- sie sind kein erforderlicher Site-Inhalt für die Export-/Import-Portabilität
- Export-/Import-Workflows sollten Suchzeilen nach der Inhaltsübertragung bei Bedarf neu aufbauen
Sicherheit
Suche V1 erfordert keine destruktiven Befehle zum Zurücksetzen der Datenbank.
- die Schutzmechanismen für destruktive Befehle bleiben bestehen
- Rebuilds leeren und erstellen nur abgeleitete Suchzeilen im angeforderten Bereich neu