ScoredSearchEntryModel
Das ScoredSearchEntryModel
-Modell repräsentiert ein einzelnes Suchergebnis mit einem berechneten Relevanz-Score. Es wird von der Suchfunktion in CrispyCMS verwendet, um Suchergebnisse nach ihrer Relevanz zu bewerten und zu sortieren.
Zweck
ScoredSearchEntryModel
kapselt ein Suchergebnis (implementiert SearchResultEntryInterface
) und ergänzt es um einen numerischen Score, der die Relevanz des Ergebnisses für die aktuelle Suchanfrage angibt.
Eigenschaften
- entry: Das eigentliche Suchergebnis (z. B. ein
SearchResultEntryModel
) - score: Der berechnete Relevanzwert (float)
Methoden
getTitle(): string
Gibt den Titel des Suchergebnisses zurück.
getSnippet(): string
Gibt einen Auszug oder eine Kurzbeschreibung des Ergebnisses zurück.
getUrl(): string
Gibt die URL zum Suchergebnis zurück.
getSource(): string
Gibt die Quelle des Suchergebnisses zurück.
getCreatedAt(): Carbon
Gibt das Erstellungsdatum des Ergebnisses zurück.
getUpdatedAt(): Carbon
Gibt das Änderungsdatum des Ergebnisses zurück.
getScore(): float
Gibt den berechneten Relevanz-Score zurück.
toArray(): array
Gibt alle Felder des Suchergebnisses als Array zurück und ergänzt das Feld score
.
Konstruktor
__construct(SearchResultEntryInterface $entry, float $score)
Erzeugt eine neue Instanz von ScoredSearchEntryModel
.
Parameter:
$entry
: Ein Objekt, das das InterfaceSearchResultEntryInterface
implementiert (z. B. einSearchResultEntryModel
).$score
: Der berechnete Relevanzwert alsfloat
.
Verwendung:
Das Suchergebnis wird mit dem zugehörigen Score gekapselt und kann anschließend über die Methoden des Modells oder als Array ausgegeben werden.
Beispiel für die Rückgabe
Ein ScoredSearchEntryModel
wird typischerweise als Array in Templates verwendet:
{
"title": "Seitentitel",
"snippet": "Kurzbeschreibung oder Auszug",
"url": "/seite-url",
"source": "Suchquelle",
"createdAt": "2025-09-15 12:34:56",
"updatedAt": "2025-09-15 12:34:56",
"score": 0.98
}
Hinweise
- Der Score ist ein relativer Wert und dient zur Sortierung der Ergebnisse nach Relevanz.
- Die eigentlichen Daten stammen aus dem gekapselten Suchergebnis (
entry
). - Das Modell ist unveränderlich (final) und wird nur zur Ausgabe verwendet.