Maison >développement back-end >tutoriel php >Comment configurer une recherche en texte intégral à l'aide de Scout dans Laravel
Ce didacticiel montre l'implémentation de la recherche en texte intégral dans une application Laravel à l'aide de la bibliothèque Laravel Scout. Scout fournit une approche rationalisée et basée sur le pilote pour ajouter cette fonctionnalité cruciale à vos modèles éloquents. Il synchronise automatiquement vos index de recherche avec des modifications d'enregistrement éloquentes.
L'avantage principal de Laravel Scout est sa simplicité. Cet article utilise Algolia, un moteur de recherche basé sur le cloud, comme pilote. Cependant, Scout prend en charge d'autres pilotes et permet même la création de moteurs personnalisés.
Configuration du serveur:
La première étape consiste à installer les dépendances nécessaires à l'aide du compositeur:
composer require laravel/scout
Ensuite, enregistrez le fournisseur de services scouts dans config/app.php
. Cela informe Laravel de la disponibilité de la bibliothèque. Nous configurerons également des algolies et un pilote de base de données léger. Pour la mise en œuvre du moteur personnalisé, consultez l'exemple ci-dessous.
Implémentation du moteur personnalisé:
La création d'un moteur de recherche personnalisé consiste à étendre la classe Engine
de Laravel et à implémenter les méthodes requises. Voici un exemple de base:
<?php namespace App\Engines; use Laravel\Scout\Builder; use Laravel\Scout\Engines\Engine; class CustomScoutEngine extends Engine { public function update($models) {} public function delete($models) {} public function search(Builder $builder) {} public function paginate(Builder $builder, $perPage, $page) {} public function mapIds($results) {} public function map(Builder $builder, $results, $model) {} public function getTotalCount($results) {} public function flush($model) {} }
N'oubliez pas de mettre en œuvre les méthodes abstraites en fonction de vos besoins spécifiques.
Enregistrement du moteur personnalisé:
Enregistrez votre moteur personnalisé dans la méthode boot
d'un fournisseur de services:
use App\Engines\CustomScoutEngine; use Laravel\Scout\EngineManager; public function boot() { resolve(EngineManager::class)->extend('custom_scout_engine', function () { return new CustomScoutEngine; }); }
Enfin, spécifiez votre moteur personnalisé dans config/scout.php
:
'driver' => 'custom_scout_engine',
Conclusion:
Ce guide fournit une approche pratique pour intégrer les capacités de recherche en texte intégral dans votre application Laravel à l'aide de Laravel Scout. Que vous utilisiez le pilote d'algolie intégré ou que vous créiez une solution personnalisée, Scout simplifie le processus et améliore l'expérience utilisateur en permettant une navigation de contenu efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!