Suchen mit
Beim Laravel DACH Meetup im Mai ging es um die einfache, treiberbasierte Lösung für Volltextsuchen in Eloquent-Models. Mehr dazu hier und im Video.
Bei unserem Meetup im Mai drehte sich alles um Suchen, genauer um Laravel Scout. In seinem Talk gab Jure Knezovic einen Einblick in die Verwendung von Scout in Kombination mit einem datenbankbasierten Treiber sowie Meilisearch.
Scout ist eine treiberbasierte Lösung mit der Eloquent Modelle durchsucht werden können. Man kann sich Scout also als Verbindung zwischen Eloquent und den Indizes aller durchsuchbarer Ressourcen vorstellen. Scout ermöglicht es, diese Indizes einfacher zu speichern in beispielsweise MySQL-Datenbanken, Algolia, Meilisearch oder auch anderen Search-Index-Engines wie Elasticsearch.
Gerade wenn man als Entwickler:in auf der Suche nach einer Alternative zu SQL-Abfragen ist, lohnt es sich, sich mit Scout zu beschäftigen. Scout ist im Vergleich zu beispielsweise „where like%“-Abfragen wesentlich übersichtlicher und damit auch weniger anfällig für Fehler. Auch die Eingabe selbst ist simpler.
Code Laravel Scout im Vergleich
Scout wird klassisch über den Composer installiert:
Composer require laravel/scout Php artisan vendor:publish –provider=”Laravel/Scout/ScoutServiceProvider”
Danach müssen die Treiber, Schlüssel, Präfixe, etc. in den config/scout.php gesetzt werden und use Searchable; zu den Modellen hinzugefügt werden. Dann kann die Suche auch schon starten.
Für den erfolgreichen Einstaz von Scout muss vorab mit toSearchableArray() definiert werden, welche Spalten des Modells durchsuchbar sind.
Voraussetzungen Installation Laravel Scout
Wie sich Laravel Scout in der Praxis mit einer Datenbank sowie Meilisearch als Treiber verhält, zeigt das Video.
Meilisearch ist eine quelloffene Suchmaschine, die flexibel in Webseiten und in Anwendungen integriert werden kann. Sie ist dabei hochgradig anpassbar und bietet nützliche Features wie die Aufnahme von Synonymen, dem Ausschließen bestimmter Worte oder Felder sowie einer individuellen Tippfehlertolleranz.
Dies schlägt sich auch in Jures Fazit nieder:
The database-based driver is very rudimentary but easy to link with Laravel. In comparison, Meilisearch offers much more extensive functionality, but at the same time is more trouble to install and set up.
Jure Knezovic,
Entwicklung
Communications & Marketing
Lea Auerbach
Mehr zu unseren Meetups
Laravel DACH Meetup
Laravel Telescope und Version 9.0
Pünktlich zum Frühlingsbeginn im März starteten wir mit unseren beiden Speakern Marcel Wege und Joshua Blum in die Meetup-Saison 2022. Die Recap findet ihr hier.
Laravel DACH Meetup
Im Gespräch mit Laravel-Gründer Taylor Otwell
Beim Q&A mit Taylor Otwell beim vergangenen Laravel DACH Meetup nutzten die Teilnehmenden die Möglichkeit ihre persönlichen Fragen zu stellen. Die Antworten gibt es hier.
Ihr wollt
kein Meetup mehr verpassen?
Jetzt beitreten