ホームページ >バックエンド開発 >PHPチュートリアル >LaravelでScoutを使用してフルテキスト検索を設定する方法

LaravelでScoutを使用してフルテキスト検索を設定する方法

Christopher Nolan
Christopher Nolanオリジナル
2025-03-04 10:38:09690ブラウズ

How to Set Up a Full-Text Search Using Scout in Laravel

このチュートリアルでは、Laravel Scout Libraryを使用してLaravelアプリケーションにフルテキスト検索を実装することを示しています。 Scoutは、この重要な機能を雄弁なモデルに追加するための合理化されたドライバーベースのアプローチを提供します。 検索インデックスを雄弁なレコードの変更と自動的に同期します。

Laravel Scoutの主な利点は、そのシンプルさです。 この記事では、クラウドベースの検索エンジンであるAlgoliaをドライバーとして使用しています。 ただし、Scoutは他のドライバーをサポートしており、カスタムエンジンの作成も可能にします。

サーバーのセットアップ:

最初のステップは、作曲家を使用して必要な依存関係をインストールすることです。

次に、スカウトサービスプロバイダーを

に登録します。 これにより、Laravelは図書館の可用性について通知します。 また、Algoliaと軽量のデータベースドライバーを構成します。 カスタムエンジンの実装については、以下の例を参照してください

composer require laravel/scout
カスタムエンジンの実装:

config/app.php

カスタム検索エンジンの作成には、Laravelのクラスを拡張し、必要な方法を実装することが含まれます。 基本的な例は次のとおりです

特定のニーズに応じて抽象的なメソッドを実装することを忘れないでください。 カスタムエンジンの登録

Engine

サービスプロバイダーのメソッド内でカスタムエンジンを登録する:
<?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) {}
}

最後に、カスタムエンジンを

で指定します

結論:boot

use App\Engines\CustomScoutEngine;
use Laravel\Scout\EngineManager;

public function boot()
{
    resolve(EngineManager::class)->extend('custom_scout_engine', function () {
        return new CustomScoutEngine;
    });
}
このガイドは、Laravel Scoutを使用してLaravelアプリケーションに全文検索機能を統合するための実用的なアプローチを提供します。 組み込みのアルゴリアドライバーを利用するか、カスタムソリューションを作成するかに関わらず、Scoutはプロセスを簡素化し、効率的なコンテンツナビゲーションを有効にすることでユーザーエクスペリエンスを強化します。

以上がLaravelでScoutを使用してフルテキスト検索を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。