废话不多说,搭配官方文档配合来看,进入正题;
composer require laravel/scout
小伙伴们有谁运行这条命令就报错的的就举手,往这看->
出师不利啊 :);
点击图片跳转到composer error 页面
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
然后你就发现下载成功了 :)
添加ScoutServiceProvider到配置文件config/app.php的providers数组:
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
<?php
namespace App\Models;
use Laravel\Scout\Searchable;
class Article extends Base
{
use Searchable;
}
尽管不强制使用Scout,不过在使用这个库之前强烈建议考虑配置一个队列驱动。运行一个队列进程将允许Scout把所有同步模型信息到搜索索引的操作推送到队列中,从而为应用的web界面提供更快的响应时间。
配置好队列驱动后,在配置文件config/scout.php
中设置queue选项的值为true:
composer require algolia/algoliasearch-client-php
<?php
namespace App\Models;
use Laravel\Scout\Searchable;
class Article extends Base
{
use Searchable;
/**
* 获取模型的索引名称.
*
* @return string
*/
public function searchableAs()
{
return 'article_search';
}
/**
* 获取模型的索引数据数组
*
* @return array
*/
public function toSearchableArray()
{
$array = $this->toArray();
// $array = ['title','markdown','html','description']; 自定义字段
return $array;
}
}
php artisan scout:import "App\Models\Article"
配置所以这里可能会报错 :)
点击图片进入注册algolia官网账号
点击那把小钥匙;
config/scout.php
中'algolia' => [
'id' => env('ALGOLIA_APP_ID', '上图的 Application ID'),
'secret' => env('ALGOLIA_SECRET', '上图的 Admin API Key'),
], //不要填错了哦!!
use App\Models\Article;
Route::get('search', function () {
// 为查看方便都转成数组
dump(Article::search('php')->get()->toArray());
});
打印信息
哈哈成功了,打赏自己一朵小红花
本文为史大坨原创文章,转载无需和我联系,但请注明来自史大坨博客https://www.shidatuos.cn
BLMYX01:过来了,谢谢!其实我在Article::search()这里出了点问题,感谢提供思路,帮了大忙。
2018-07-02 01:39:35 回复