ホームページ PHPフレームワーク Laravel Laravel 開発: Laravel Scout と Meil​​isearch を使用して全文検索を実装するにはどうすればよいですか?

Laravel 開発: Laravel Scout と Meil​​isearch を使用して全文検索を実装するにはどうすればよいですか?

Jun 14, 2023 pm 12:01 PM
laravel scout meilisearch

インターネットの発展に伴い、全文検索はますます多くの Web サイトやアプリケーションにとって不可欠な機能になりました。 Laravelフレームワークでは、Laravel ScoutとMeilisearchを統合することで、効率的かつ高速な全文検索機能を実装できます。

1.Laravel Scout とは何ですか?

Laravel Scout は、Laravel アプリケーションに全文検索機能を提供するために Laravel が公式に提供するプラグインです。使いやすく、Algolia、Elasticsearch、Meilisearch などの複数の検索エンジンをサポートしています。

2.メイリサーチとは何ですか?

Meilisearch は、大規模なデータ セットに迅速に拡張できる、高速で安全なオープン ソースの全文検索エンジンです。他の検索エンジンと比較して、Meilisearch は検索速度が速く、インデックス スペースが小さいと同時に、一連の使いやすいクエリとフィルタリング オプションを提供します。

3. Laravel Scout と Meil​​isearch を使用して全文検索を実装するにはどうすればよいですか?

  1. Laravel Scout と Meil​​isearch をインストールする

まず、Laravel Scout と Meil​​isearch を Laravel アプリケーションにインストールする必要があります。 Laravel 8 を例として、Composer を使用してインストールできます。

1

composer require laravel/scout meilisearch/meilisearch-php

ログイン後にコピー
  1. Laravel Scout の構成

インストールが完了したら、Laravel で Laravel を構成する必要もあります。アプリケーションスカウト。 config/app.php ファイルを開き、Laravel Scout プロジェクトのサービスプロバイダーをプロバイダー配列に追加します:

1

2

3

4

'providers' => [

    // ...

    LaravelScoutScoutServiceProvider::class,

],

ログイン後にコピー

次に、.env ファイルでデータベース情報と Meil​​isearch 情報を構成します:

1

2

3

4

SCOUT_DRIVER=meilisearch

MEILISEARCH_HOST=http://localhost:7700

MEILISEARCH_KEY=masterKey

MEILISEARCH_HTTP_CLIENT=meilisearch

ログイン後にコピー
  1. モデルとインデックスの作成

次に、Laravel アプリケーションで全文検索用のモデルを作成し、モデルに検索インデックスを設定する必要があります。たとえば、Article という名前のモデルを作成できます:

1

php artisan make:model Article -m

ログイン後にコピー

モデルの作成中に、データベース移行ファイルが作成されます。移行ファイル内のモデルに検索インデックスを追加する必要があります:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Schema::create('articles', function (Blueprint $table) {

    $table->id();

    $table->string('title');

    $table->text('body');

    $table->timestamps();

 

    $table->softDeletes();

});

 

// 添加搜索索引

IlluminateSupportFacadesSchema::table('articles', function ($table) {

    $table->text('searchable')->nullable();

});

 

// 创建搜索索引

IlluminateSupportFacadesArtisan::call('scout:import', ['model' => AppModelsArticle::class]);

ログイン後にコピー

移行ファイルに検索インデックスを追加した後、Laravel Scout がフルテキストのインデックスを使用できるようにモデルを更新する必要があります。 search:

1

2

3

4

5

6

use LaravelScoutSearchable;

 

class Article extends Model

{

    use Searchable;

}

ログイン後にコピー
  1. 全文検索の実行

ここまでで、Laravel Scout と Meil​​isearch を使用して全文検索を実装するための基本的な構成が完了しました。全文検索を実行するには、Laravel Scout が提供するグローバル検索メソッドを使用できます。

1

$articles = Article::search('搜索关键词')->get();

ログイン後にコピー

このメソッドを通じて、関連する記事を迅速かつ効率的に取得し、ユーザー エクスペリエンスを向上させることができます。

4. 概要

Laravel Scout と Meil​​isearch は、高速で正確な検索機能を実現するのに役立つ強力で効率的な全文検索ツールのペアです。ユーザーのニーズを満たし、ユーザー エクスペリエンスを向上させるために必要なのは、簡単な構成と呼び出しだけです。

以上がLaravel 開発: Laravel Scout と Meil​​isearch を使用して全文検索を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Apr 01, 2025 pm 02:45 PM

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

DCAT管理者にデータを追加するためにクリックのカスタムテーブル関数を実装する方法は? DCAT管理者にデータを追加するためにクリックのカスタムテーブル関数を実装する方法は? Apr 01, 2025 am 07:09 AM

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel Redis接続共有:選択方法が他の接続に影響するのはなぜですか? Laravel Redis接続共有:選択方法が他の接続に影響するのはなぜですか? Apr 01, 2025 am 07:45 AM

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

Laravel Multi-Tenant Extension Stancl/Tenancy:テナントデータベース接続のホストアドレスをカスタマイズする方法は? Laravel Multi-Tenant Extension Stancl/Tenancy:テナントデータベース接続のホストアドレスをカスタマイズする方法は? Apr 01, 2025 am 09:09 AM

Laravel Multi-Tenant拡張機能パッケージStancl/Tenancyのカスタムテナントデータベース接続Laravel Multi-Tenant ExtensionパッケージStancl/Tenancyを使用したマルチテナントアプリケーションを構築する際の...

バングラ部分モデル検索のlaravelEloquent orm) バングラ部分モデル検索のlaravelEloquent orm) Apr 08, 2025 pm 02:06 PM

LaravelEloquentモデルの検索:データベースデータを簡単に取得するEloquentormは、データベースを操作するための簡潔で理解しやすい方法を提供します。この記事では、さまざまな雄弁なモデル検索手法を詳細に紹介して、データベースからのデータを効率的に取得するのに役立ちます。 1.すべてのレコードを取得します。 ALL()メソッドを使用して、データベーステーブルですべてのレコードを取得します:useapp \ models \ post; $ post = post :: all();これにより、コレクションが返されます。 Foreach Loopまたはその他の収集方法を使用してデータにアクセスできます。

Laravel6プロジェクトでRedis接続の有効性を効果的に確認する方法は? Laravel6プロジェクトでRedis接続の有効性を効果的に確認する方法は? Apr 01, 2025 pm 02:00 PM

Laravel6プロジェクトでRedis接続の有効性を確認する方法は、特にプロジェクトがビジネス処理にRedisに依存している場合によく見られます。以下は...

Laravelデータベースの移行の遭遇重複クラス定義:複製の移行ファイルとクラス名の競合を複製する方法は? Laravelデータベースの移行の遭遇重複クラス定義:複製の移行ファイルとクラス名の競合を複製する方法は? Apr 01, 2025 pm 12:21 PM

Laravelデータベースの移行中にクラス定義を複製する問題が発生します。データベースの移行にLaravelフレームワークを使用する場合、開発者は「クラスが使用されています...

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

See all articles