v0.45.0
ANTON (Version 0.45.0)¶
Neue Features¶
- Gewichtete Suche für Actors, Places und Keywords: Neues Suchsystem mit konfigurierbaren Feldgewichtungen
- Suchergebnisse werden nach Relevanz sortiert
- Exakte Treffer werden höher gewichtet als Teil-Treffer
- Treffer am Wortanfang werden höher gewichtet als Treffer in der Mitte
- UI-Option: In den Listenansichten (Actors, Places, Keywords) erscheint bei aktiver Suche eine Checkbox "Nach Relevanz sortieren"
- User Setting: Benutzer können die gewichtete Suche als Standardeinstellung in ihrem Profil aktivieren
Konfiguration der gewichteten Suche¶
Aktivierung als Benutzereinstellung¶
Jeder Benutzer kann die gewichtete Suche in seinen persönlichen Einstellungen aktivieren:
- Profil → Einstellungen
- Checkbox "Gewichtete Suche aktivieren" setzen
Wenn aktiviert, ist die Checkbox "Nach Relevanz sortieren" in den Listenansichten standardmässig aktiv.
Aktivierung in der Benutzeroberfläche¶
In den DataTables für Actors, Places und Keywords erscheint bei aktiver Suche eine Checkbox "Nach Relevanz sortieren" unterhalb des Suchfelds. Wenn aktiviert, werden die Ergebnisse nach Relevanz statt nach dem Standard-Sortierfeld sortiert.
Aktivierung/Deaktivierung (global für API)¶
Die gewichtete Suche kann über die Settings aktiviert oder deaktiviert werden:
// Aktivieren
Setting::setValue('search_weighted_enabled', true);
// Deaktivieren (Standard)
Setting::setValue('search_weighted_enabled', false);
Bei der API-Suche kann die gewichtete Suche auch per Request-Parameter gesteuert werden:
?weighted=true
Gewichtungen anpassen¶
Die Gewichtungen für jedes Modell können individuell konfiguriert werden. Höhere Werte bedeuten höhere Relevanz.
Actors (search_weight_actors):
| Feld | Standard-Gewicht |
|------|-----------------|
| name | 10 |
| alternative_names | 7 |
| variants | 5 |
| abbreviations | 5 |
| type_label | 3 |
| description | 2 |
| sources | 1 |
| comment | 1 |
Places (search_weight_places):
| Feld | Standard-Gewicht |
|------|-----------------|
| name | 10 |
| city | 8 |
| state | 6 |
| alternative_names | 5 |
| variants | 5 |
| abbreviations | 5 |
| address | 3 |
| description | 2 |
| sources | 1 |
| comment | 1 |
Keywords (search_weight_keywords):
| Feld | Standard-Gewicht |
|------|-----------------|
| label | 10 |
| description | 5 |
| name | 3 |
Gewichtungen ändern¶
// Beispiel: Gewichtungen für Actors anpassen
Setting::setValue('search_weight_actors', [
'name' => 15, // Name noch wichtiger
'alternative_names' => 10,
'variants' => 5,
'abbreviations' => 5,
'type_label' => 3,
'description' => 2,
'sources' => 1,
'comment' => 1,
]);
Technische Details¶
- Neues Trait
HasWeightedSearchfür Models (Actor, Place, Keyword) - Relevanz-Scoring basiert auf:
- Exakter Treffer: Gewicht × 3
- Treffer am Anfang: Gewicht × 2
- Treffer enthält: Gewicht × 1
- Ergebnisse werden nach
relevance_scoreabsteigend sortiert
Update durchführen¶
php artisan db:seed --class=Update --env=<environment>
14.03.2026