7.1. 开始搜索

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

开始搜索

上一章我们学习了 Elasticsearch 的一些基础的查询语句,接下来我们将开始改造商品搜索页,改为使用 Elasticsearch 查询。

1. 分页与排序

首先我们先实现分页与排序功能,先不管搜索以及类目功能:

app/Http/Controllers/ProductsController.php

use Illuminate\Pagination\LengthAwarePaginator;
.
.
.
    public function index(Request $request)
    {
        $page    = $request->input('page', 1);
        $perPage = 16;

        // 构建查询
        $params = [
            'index' => 'products',
            'type'  => '_doc',
            'body'  => [
                'from'  => ($page - 1) * $perPage, // 通过当前页数与每页数量计算偏移值
                'size'  => $perPage,
                'query' => [
                    'bool' => [
                        'filter' => [
                            ['term' => ['on_sale' => true]],
                        ],
                    ],...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 15

张汉为
多关键词搜索问题?
1 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
18874127314
老师,这里不能直接拿 ES 里的商品数据吗
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.7
finding
es 搜索生效了,但前端无分页效果
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
易水
sku 里面的 descriptions 搜不出来
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xiaocao
按类目名称搜索无结果?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
phpdi
『 金士顿 内存条』 搜索结果有问题?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
HashKey
关键词搜索 多个关键词带空格的这种方式
0 个点赞 | 1 个回复 | 问答 | 课程版本 7.x
logic
为什么搜索引擎是这样的????大大的问号?
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
gyp719
es 搜索,前面都没有问题
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
drinke9
es 分类搜索使用 prefix 查询不到数据
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
eeeee
查询 16GB 这个关键词没有数据
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
zhoubohan
在实现排序的时候,出现的问题
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5