Heim >Backend-Entwicklung >PHP-Tutorial >Nutzung der Volltext-Suche in Laravel
laravel bietet leistungsstarke Volltext-Suchfunktionen über die Methoden whereFullText
und orWhereFullText
und bieten einen raffinierteren Ansatz für das Abrufen von Daten als einfache LIKE
-Antagen.
Die whereFullText
-Methoden integrieren nahtlos in die integrierte Volltext-Suchfunktionalität Ihrer Datenbank. Ein grundlegendes Beispiel folgt:
use Illuminate\Support\Facades\DB; $users = DB::table('users') ->whereFullText('bio', 'web developer') ->get();
Dies kann erweitert werden, um robuste Suchfunktionen für Anwendungen wie Blogs oder Content -Management -Systeme zu erstellen. Das Folgende zeigt eine Suche über mehrere Spalten mit Kategoriefilterung:
// ArticleController.php public function search(Request $request) { return Article::query() ->whereFullText(['title', 'content'], $request->search) ->when($request->category, function ($query, $category) { $query->where('category', $category); }) ->orderBy('published_at', 'desc') ->paginate(15); } // migration Schema::create('articles', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->string('category'); $table->timestamp('published_at'); $table->fullText(['title', 'content']); });
Laravel generiert automatisch die richtige SQL für Ihre Datenbank. Für Mariadb und MySQL sind es standardmäßig MATCH AGAINST
Anweisungen mit dem natürlichen Sprachmodus.
Dieser Ansatz optimiert die komplexe Suchlogik, während effiziente Abfragegeschwindigkeiten für Projekte mit moderat großer Größe beibehalten werden. Für Anwendungen, die fortgeschrittene Such- oder Umgang mit wesentlichen Datensätzen fordern, werden spezielle Suchmaschinen wie Elasticsearch oder Meilisearch empfohlen.
Das obige ist der detaillierte Inhalt vonNutzung der Volltext-Suche in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!