>  기사  >  PHP 프레임워크  >  Laravel 개발: Laravel Scout 및 Meilisearch를 사용하여 전체 텍스트 검색을 구현하는 방법은 무엇입니까?

Laravel 개발: Laravel Scout 및 Meilisearch를 사용하여 전체 텍스트 검색을 구현하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-06-14 12:01:341352검색

인터넷이 발전하면서 전체 텍스트 검색은 점점 더 많은 웹사이트와 애플리케이션에서 필수적인 기능이 되었습니다. Laravel 프레임워크에서는 Laravel Scout와 Meilisearch를 통합하여 효율적이고 빠른 전체 텍스트 검색 기능을 구현할 수 있습니다.

1. 라라벨 스카우트란?

Laravel Scout는 Laravel 애플리케이션에 대한 전체 텍스트 검색 기능을 제공하기 위해 Laravel에서 공식적으로 제공하는 플러그인입니다. 사용하기 쉽고 Algolia, Elasticsearch 및 Meilisearch를 포함한 여러 검색 엔진을 지원합니다.

2. 메일리서치란?

Meilisearch는 대규모 데이터 세트로 빠르게 확장되는 빠르고 안전한 오픈 소스 전체 텍스트 검색 엔진입니다. 다른 검색 엔진과 비교하여 Meilisearch는 더 빠른 검색 속도와 더 작은 인덱스 공간을 제공하는 동시에 사용하기 쉬운 일련의 쿼리 및 필터링 옵션도 제공합니다.

3. Laravel Scout와 Meilisearch를 사용하여 전체 텍스트 검색을 구현하는 방법은 무엇입니까?

  1. Laravel Scout 및 Meilisearch 설치

먼저 Laravel 애플리케이션에 Laravel Scout 및 Meilisearch를 설치해야 합니다. 여기서 Laravel 8을 예로 들면 Composer를 사용하여 설치할 수 있습니다.

composer require laravel/scout meilisearch/meilisearch-php
  1. Configure Laravel Scout

설치를 완료한 후 Laravel 애플리케이션에서 Laravel Scout를 구성해야 합니다. config/app.php 파일을 열고 Laravel Scout 프로젝트의 서비스 공급자를 공급자 배열에 추가합니다:

'providers' => [
    // ...
    LaravelScoutScoutServiceProvider::class,
],

그런 다음 .env 파일에서 데이터베이스 정보와 Meilisearch 정보를 구성합니다:

SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://localhost:7700
MEILISEARCH_KEY=masterKey
MEILISEARCH_HTTP_CLIENT=meilisearch
  1. 모델 및 인덱스 생성

Connect 다음으로 Laravel 애플리케이션에서 전체 텍스트 검색을 위한 모델을 만들고 모델에 검색 인덱스를 설정해야 합니다. 예를 들어 Article:

php artisan make:model Article -m

이라는 모델을 생성할 수 있습니다. 모델을 생성하는 동안 데이터베이스 마이그레이션 파일이 생성됩니다. 마이그레이션 파일에 모델에 대한 검색 인덱스를 추가해야 합니다:

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가 전체 텍스트 검색에 인덱스를 사용할 수 있도록 모델을 업데이트해야 합니다:

use LaravelScoutSearchable;

class Article extends Model
{
    use Searchable;
}
  1. 전체 텍스트 검색을 위한

이제 Laravel Scout와 Meilisearch를 사용하여 전체 텍스트 검색을 구현하는 기본 구성이 완료되었습니다. 전체 텍스트 검색을 수행하려면 Laravel Scout에서 제공하는 전역 검색 방법을 사용할 수 있습니다:

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

이 방법을 통해 관련 기사를 빠르고 효율적으로 얻고 사용자 경험을 향상시킬 수 있습니다.

4. 요약

Laravel Scout와 Meilisearch는 빠르고 정확한 검색 기능을 달성하는 데 도움이 되는 강력하고 효율적인 전체 텍스트 검색 도구입니다. 사용자 요구 사항을 충족하고 사용자 경험을 개선하려면 간단한 구성과 호출만 필요합니다.

위 내용은 Laravel 개발: Laravel Scout 및 Meilisearch를 사용하여 전체 텍스트 검색을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.