7.1. 开始搜索

开始搜索

上一章我们学习了 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 网站上。

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 9

张汉为
多关键词搜索问题?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
18874127314
老师,这里不能直接拿 ES 里的商品数据吗
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.7
finding
es 搜索生效了,但前端无分页效果
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
simplewater
sku 里面的 descriptions 搜不出来
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xiaocao
按类目名称搜索无结果?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
phpdi
『 金士顿 内存条』 搜索结果有问题?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
eeeee
查询 16GB 这个关键词没有数据
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
zhoubohan
在实现排序的时候,出现的问题
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5