前に書いてあります
Elasticsearch (以下、es) は、リアルタイムの分散型検索および分析エンジンです。
検索エンジンに関しては、Elasticsearchだけでなく、別記事で紹介したAlgolia、sphinx、Solrなどもありますが、ここでは評価や比較はしません、この記事では使い方を中心に紹介しますLaravelのElasticsearch。
最初の選択肢は Elasticsearch がインストールされている必要があります。
この記事は laravel5.5 に基づいていますが、他のバージョンも同様です。
準備
composer を介して依存パッケージをインストールする
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"
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
インデックスの作成
モデルを作成し、データを入力します
モデル app/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"
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.
Done
$studens = App\Student::search('成燕')->get(); dd($studens);
https://www.elastic.co/guide/...
Laravel 関連の技術記事の詳細については、Laravel Framework Getting Started Tutorial 列にアクセスして学習してください。
以上がScout を使用して Elasticsearch 検索エンジンを Laravel に統合するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。