Використання повнотекстового пошуку в Laravel

Перекладено ШІ 173 Laravel News 02 червня, 2026

Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом

Laravel надає потужні можливості для повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до даних, порівняно з базовими умовами LIKE.

# Технічні вимоги

  • Підтримувані бази даних: MariaDB, MySQL або PostgreSQL
  • Повнотекстові індекси на цільових стовпцях
  • Для великих систем розгляньте можливість використання Elasticsearch або Meilisearch

Методи whereFullText інтегруються безпосередньо з можливостями повнотекстового пошуку вашої бази даних. Ось приклад базової реалізації:

use Illuminate\Support\Facades\DB;

$users = DB::table('users')
    ->whereFullText('bio', 'web developer')
    ->get();

На основі цього ви можете створити більш розширену функціональність пошуку для блогу чи системи керування контентом. Наступний приклад демонструє пошук по кількох стовпцях із можливістю фільтрації за категорією:

// 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);
}

// Міграція
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 автоматично генерує відповідний SQL-синтаксис для вашої системи бази даних. Для MariaDB та MySQL за замовчуванням використовуються запити з використанням операторів MATCH AGAINST у природному мовному режимі.

Цей підхід спрощує реалізацію складного пошуку, зберігаючи ефективність запитів для застосунків середнього розміру. Якщо вашій системі потрібні розширені пошукові можливості або обробка великих обсягів даних, рекомендується розглянути можливість використання спеціалізованих служб пошуку, таких як Elasticsearch або Meilisearch

Популярні

Інше, що варто прочитати

53 Оновлено 01 червня, 2026

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу

14 Оновлено 01 червня, 2026

Claude Agent тепер інтегрований в AI Assistant для PhpStorm

Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання

15 Оновлено 01 червня, 2026

Простий пакет RabbitMQ для Laravel

Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!