앞에작성
Elasticsearch(이하 es)는 실시간 분산 검색 및 분석 엔진입니다.
검색엔진으로는 Elasticsearch 뿐만 아니라 다른 글에서 언급한 Algolia, sphinx, Solr 등도 있는데 여기서는 평가나 비교는 하지 않겠습니다. laravel Elasticsearch에서 사용하는 방법을 소개합니다.
첫 번째 선택은 Elasticsearch가 설치되어 있어야 합니다.
이 문서는 laravel5.5를 기반으로 하며 다른 버전도 유사합니다.
준비
작곡기를 통해 종속성 패키지 설치
composer require laravel/scout composer require tamayo/laravel-scout-elastic
기본 구성 # 🎜🎜#
config/app.php 파일의 공급자 배열에 서비스 공급자 추가// config/app.php 'providers' => [ // ... Laravel\Scout\ScoutServiceProvider::class, // ... ScoutEngines\Elasticsearch\ElasticsearchProvider::class, ],스카우트 구성 파일을 생성하려면 다음 명령을 사용하세요
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"#🎜🎜 #In Add elasticsearch 구성을 config/scout.php
'elasticsearch' => [ 'index' => env('ELASTICSEARCH_INDEX', 'laravel'), 'hosts' => [ env('ELASTICSEARCH_HOST', 'http://localhost:9200'), ], ],
그런 다음 .env 파일을 열고 scout 및 elasticsearch 구성을 추가합니다
# scout配置 SCOUT_DRIVER=elasticsearch SCOUT_PREFIX= # elasticsearch 配置 ELASTICSEARCH_INDEX=esdemo # elasticsearch 地址 ELASTICSEARCH_HOST=http://172.30.6.1:9200색인 생성#🎜 🎜 #
모델 생성 및 데이터 입력
모델 앱 생성/Student.php 후속 테스트를 용이하게 하려면 테이블을 생성하고 먼저 데이터를 입력하세요. SQL 문을 사용하여 수동으로 데이터를 추가하거나 laravel을 사용하여 자동으로 데이터를 마이그레이션하고 채울 수 있습니다. <?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
/**
* 学生模型
*/
class Student extends Model
{
use Searchable;
/**
* 索引名称
*
* @return string
*/
public function searchableAs()
{
return 'students_index';
}
/**
* 可搜索的数据索引
*
* @return array
*/
public function toSearchableArray()
{
$array = $this->toArray();
// Customize array...
return $array;
}
}
가져오기에 성공했나요?
php artisan scout:import "App\Student"
es를 방문합니다. http://172.30.6.1:9200/esdemo/students_index/_search
방금 가져온 Students_index 인덱스 데이터가 이미 있습니까?#🎜 🎜 #Done
php artisan scout:import "App\Student" Imported [App\Student] models up to ID: 500 Imported [App\Student] models up to ID: 1000 Imported [App\Student] models up to ID: 1500 Imported [App\Student] models up to ID: 2000 Imported [App\Student] models up to ID: 2500 Imported [App\Student] models up to ID: 3000 Imported [App\Student] models up to ID: 3500 Imported [App\Student] models up to ID: 4000 Imported [App\Student] models up to ID: 4500 Imported [App\Student] models up to ID: 5000 Imported [App\Student] models up to ID: 5500 Imported [App\Student] models up to ID: 6000 Imported [App\Student] models up to ID: 6500 Imported [App\Student] models up to ID: 7000 Imported [App\Student] models up to ID: 7500 Imported [App\Student] models up to ID: 8000 Imported [App\Student] models up to ID: 8500 Imported [App\Student] models up to ID: 9000 Imported [App\Student] models up to ID: 9500 Imported [App\Student] models up to ID: 10000 All [App\Student] records have been imported.데이터베이스에 직접 쿼리하는 것보다 검색 속도가 훨씬 빠르나요? 자세한 사용법은 공식 문서를 참조하세요
https://www.elastic.co/guide/...
더보기 Laravel 관련 기술 기사를 보려면 Laravel Framework Getting Started Tutorial
컬럼을 방문하여 알아보세요!위 내용은 Scout를 사용하여 Laravel에 Elasticsearch 검색 엔진 통합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!