6.6. 在 Laravel 中使用 Elasticsearch
在 Laravel 中使用 Elasticsearch
上一节我们介绍了 Elasticsearch 的基础概念和基本的使用,接下来我们要学习如何在 Laravel 中使用 Elasticsearch。
1. 引入 Composer 包
Elasticsearch 官方提供了 Composer 包,在引入时需要注意要指定版本,因为不同版本的 Elasticsearch 的 API 略有不同,我们用的是 6.x,因此需使用 ~6.0
来指定包版本。
$ composer require elasticsearch/elasticsearch '~6.0'
为什么不用 Scout?
熟悉 Laravel 的同学,应该会有此疑问。Scout 是 Laravel 官方出的一个让 Eloquent 模型支持全文搜索的包,这个包封装好一批方法,通过这些方法就可以将数据索引到全文搜索引擎中、以及使用关键字从搜索引擎搜索文档。这个包适用于一些简单的搜索场景,比如博客文章搜索,但无法发挥出全文搜索引擎全部威力,像 Elasticsearch 这种重量级的搜索引擎有无数种查询语句,例如 我们将会学到的should
语句、模糊查询、分片查询等,根本不是 Sco...