Laravel怎么使用scout集成elasticsearch做全文搜索
发布时间 - 2021-04-14 00:00:00 点击率:次下面由laravel教程栏目给大家介绍laravel怎么使用scout集成elasticsearch做全文搜索,希望对需要的朋友有所帮助!
仅限于 es6.8版本
laravel 5.5版本
安装需要的组件
composer require tamayo/laravel-scout-elastic composer require laravel/scout
如果composer require laravel/scout 出现报错
Using version ^6.1 for laravel/scout ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - tamayo/laravel-scout-elastic 4.0.0 requires laravel/scout ^5.0 -> satisfiable by laravel/scout[5.0.x-dev]. - tamayo/laravel-scout-elastic 4.0.0 requires laravel/scout ^5.0 -> satisfiable by laravel/scout[5.0.x-dev]. - tamayo/laravel-scout-elastic 4.0.0 requires laravel/scout ^5.0 -> satisfiable by laravel/scout[5.0.x-dev]. - Conclusion: don't install laravel/scout 5.0.x-dev - Installation request for tamayo/laravel-scout-elastic ^4.0 -> satisfiable by tamayo/laravel-scout-elastic[4.0.0]. Installation failed, reverting ./composer.json to its original content.
那么使用命令
composer require laravel/scout ^5.0
修改一下配置文件(config/app.php),添加如下两个provider
'providers' => [
//es search 加上以下内容
Laravel\Scout\ScoutServiceProvider::class,
ScoutEngines\Elasticsearch\ElasticsearchProvider::class,
]添加完成,执行命令,生成config文件
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
修改config/scout.php
'driver' => env('SCOUT_DRIVER', 'elasticsearch'),
'elasticsearch' => [
'index' => env('ELASTICSEARCH_INDEX', '你的Index名字'),
'hosts' => [
env('ELASTICSEARCH_HOST', ''),
],
],在.env 配置ES的 账号:密码@连接
ELASTICSEARCH_HOST=elastic:密码@你的域名.com:9200
创建一个生成mapping的命令行文件,到 app/Console/Commands
['elastic', 'yourPassword']]);
$url = config('scout.elasticsearch.hosts')[0] . '/_template/news';
$params = [
'json' => [
'template' => config('scout.elasticsearch.index'),
'settings' => [
'number_of_shards' => 5
],
'mappings' => [
'_default_' => [
'dynamic_templates' => [
[
'strings' => [
'match_mapping_type' => 'string',
'mapping' => [
'type' => 'text',
'analyzer' => 'ik_smart',
'ignore_above' => 256,
'fields' => [
'keyword' => [
'type' => 'keyword'
]
]
]
]
]
]
]
]
]
];
$client->put($url, $params);
// 创建index
$url = config('scout.elasticsearch.hosts')[0] . '/' . config('scout.elasticsearch.index');
$params = [
'json' => [
'settings' => [
'refresh_interval' => '5s',
'number_of_shards' => 5,
'number_of_replicas' => 0
],
'mappings' => [
'_default_' => [
'_all' => [
'enabled' => false
]
]
]
]
];
$client->put($url, $params);
}
}在kernel中注册这个命令
执行这个命令 生成 mapping
php artisan es:init修改model支持 全文搜索
hasOne(Star::class, 'id', 'star_id'); } public function category() { return $this->hasOne(Category::class, 'id', 'category_id'); } public static function getActivityIdByName($name) { return self::select('id') ->where([ ['status', '=', 1], ['type_id', '=', 2], ['title', 'like', '%' . $name . '%'] ])->get()->pluck('id'); } }导入全文索引信息
php artisan scout:import "App\ActivityNews\Model\ActivityNews"测试简单的全文索引
php artisan tinker >>> App\ActivityNews\Model\ActivityNews::search('略懂皮毛')->get();相关推荐:最新的五个Laravel视频教程
# laravel # php # composer # es6 # require # console # elasticsearch # 给大家 # 报错 # 创建一个 # 命令行 # 配置文件 # Installation # request # install # satisfiable # Conclusion
相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571 】
相关推荐: Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】 深圳网站制作的公司有哪些,dido官方网站? Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册 济南网站建设制作公司,室内设计网站一般都有哪些功能? 如何在景安服务器上快速搭建个人网站? Laravel中间件如何使用_Laravel自定义中间件实现权限控制 微信小程序 input输入框控件详解及实例(多种示例) mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界? Laravel观察者模式如何使用_Laravel Model Observer配置 详解Android中Activity的四大启动模式实验简述 Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用 如何在阿里云香港服务器快速搭建网站? 小视频制作网站有哪些,有什么看国内小视频的网站,求推荐? Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】 Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】 PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】 如何获取PHP WAP自助建站系统源码? javascript中闭包概念与用法深入理解 如何在万网主机上快速搭建网站? JavaScript实现Fly Bird小游戏 如何快速生成ASP一键建站模板并优化安全性? phpredis提高消息队列的实时性方法(推荐) Laravel怎么实现微信登录_Laravel Socialite第三方登录集成 Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置 网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏? 佛山企业网站制作公司有哪些,沟通100网上服务官网? JavaScript 输出显示内容(document.write、alert、innerHTML、console.log) Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制 ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】 Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制 如何在阿里云通过域名搭建网站? Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录 头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站? 如何挑选高效建站主机与优质域名? nginx修改上传文件大小限制的方法 Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制 英语简历制作免费网站推荐,如何将简历翻译成英文? 如何将凡科建站内容保存为本地文件? PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据) 如何快速建站并高效导出源代码? Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程 如何用wdcp快速搭建高效网站? jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】 google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤 Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置 如何彻底删除建站之星生成的Banner? 关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework) 如何快速打造个性化非模板自助建站? 如何在阿里云域名上完成建站全流程? Laravel如何自定义分页视图?(Pagination示例)


or laravel/scout
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- tamayo/laravel-scout-elastic 4.0.0 requires laravel/scout ^5.0 -> satisfiable by laravel/scout[5.0.x-dev].
- tamayo/laravel-scout-elastic 4.0.0 requires laravel/scout ^5.0 -> satisfiable by laravel/scout[5.0.x-dev].
- tamayo/laravel-scout-elastic 4.0.0 requires laravel/scout ^5.0 -> satisfiable by laravel/scout[5.0.x-dev].
- Conclusion: don't install laravel/scout 5.0.x-dev
- Installation request for tamayo/laravel-scout-elastic ^4.0 -> satisfiable by tamayo/laravel-scout-elastic[4.0.0].
Installation failed, reverting ./composer.json to its original content.