94.全文搜索(一)

未匹配的标注

本节说明

  • 对应视频教程第 94 小节:First Class Search: Scout Review

本节内容

我们下一个功能是对话题内容的全文搜索。我们将会用到 ScoutAlgolia 这两个工具。首先我们安装 Scout:

$ composer require laravel/scout:^3.0

接着使用 Artisan 命令vendor:publish生成 Scout 的配置文件。这个命令会在你的config目录下生成scout.php配置文件:

$ php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"

我们还要配置模型索引:
forum\app\Thread.php

<?php

namespace App;

use App\Events\ThreadReceivedNewReply;
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;

class Thread extends Model
{
    use RecordsActivity,Searchable;
    .
    .

然后我们安装 Algolia:

composer require algolia/algoliasearch-client-php:^1.27

我们在 Algolia 官网 注册账号,并按顺序添加账号相关配置:
file
forum\ .env

.
.
ALGOLIA_APP_ID=XXXXXX
ALGOLIA_KEY=XXXXXXXXXXXXXXXXXX
ALGOLIA_SECRET=XXXXXXXXXXXXXXXXXX

forum\config\scout.php

    .
    .
    'algolia' => [
        'id' => env('ALGOLIA_APP_ID', ''),
        'key' => env('ALGOLIA_KEY'),
        'secret' => env('ALGOLIA_SECRET', ''),
    ],

];

我们将已有话题导入到 Algolia:

$ php artisan scout:import 'App\Thread'

我们设置搜索话题的titlebody字段:
file
我们来尝试搜索:
file

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
发起讨论 查看所有版本


暂无话题~