引言
对于数据库查询,主键和索引往往是加速搜索的利器。而对于文本搜索,
模糊搜索,全文检索,MySQL的MyISAM引擎虽然支持,但是性能往往不能达到生产的需求,
或者说服务带载能力太弱。
我们需要专门的文本搜索引擎,并且连接到laravel应用程序内,这就是本文所要说的Scout。
代码时间
laravel scout 是一个独立的包和类库,可以很方便地通过composer接入系统,
且与Eloquent Model模型关联使用。
官方scout内置了 Algolia 和 Elasticsearch 驱动,但是社区也提供了其他可选项。
如果默认的话,优先选用的肯定是 Algolia。
laravel 5.3及以上版本为系统引入scout库:
composer require laravel/scout
然后在 config/app.php 文件内的 providers 服务提供者内加入如下内容:
'providers' => [
Laravel\Scout\ScoutServiceProvider::class,
]
如果想要使用配置文件设置scout,那么就把配置文件发布出来:
php artisan vendor:publish
这会生成 config/scout.php 文件。我们再引入 algolia 的sdk库文件,以便在程序内使用: