新闻中心

Lar*el如何实现全文搜索_Lar*el Scout集成Algolia或Meilisearch教程

2025-12-09
浏览次数:
返回列表
Lar*el Scout支持Algolia和Meilisearch实现全文搜索。1. 安装Scout并发布配置文件;2. 配置.env中的驱动和密钥;3. 模型引入Searchable trait;4. 导入数据并执行搜索;5. 可自定义索引字段和禁用同步。

laravel如何实现全文搜索_laravel scout集成algolia或meilisearch教程

在Lar*el项目中实现高效的全文搜索,Lar*el Scout 是官方推荐的解决方案。它为模型提供了简单、优雅的全文搜索支持,底层可集成 Algolia 或 Meilisearch 等搜索引擎。本文将指导你如何使用 Lar*el Scout 集成 Algolia 和 Meilisearch,完*文搜索功能。

安装与配置 Lar*el Scout

Lar*el Scout 可通过 Composer 安装:

composer require lar*el/scout

安装完成后,发布配置文件:

php artisan vendor:publish --provider="Lar*el\Scout\ScoutServiceProvider"

这会在 config/scout.php 生成配置文件。默认驱动是 "algolia",你可以根据需要切换为 "meilisearch"。

使用 Scout 集成 Algolia

Algolia 是一个强大的云端搜索服务,适合需要高性能搜索的应用。

1. 配置 Algolia 凭据

前往 Algolia 官网 注册并获取你的 Application ID 和 Admin API Key。然后在 .env 文件中配置:

SCOUT_DRIVER=algolia
ALGOLIA_APP_ID=your_app_id
ALGOLIA_SECRET=your_admin_key
2. 为模型启用搜索功能

在需要搜索的 Eloquent 模型中引入 Searchable trait:

use Lar*el\Scout\Searchable;

class Post extends Model
{
use Searchable;
}

该模型的数据将自动同步到 Algolia。

3. 导入已有数据

若数据库中已有数据,需将其导入 Algolia:

php artisan scout:import "App\Models\Post" 4. 执行搜索

在控制器或路由中使用搜索方法:

$results = App\Models\Post::search(' Lar*el ')->get();

你也可以分页显示结果:

GemDesign GemDesign

AI高保真原型设计工具

GemDesign 652 查看详情 GemDesign $results = App\Models\Post::search(' Lar*el ')->paginate(15);

使用 Scout 集成 Meilisearch

Meilisearch 是开源、轻量且易于部署的搜索引擎,适合自托管项目。

1. 启动 Meilisearch 服务

使用 Docker 快速启动:

docker run -it -p 7700:7700 getmeili/meilisearch:latest

默认主键为 masterKey,可在启动时指定:

docker run -it -p 7700:7700 -e MEILI_MASTER_KEY=your_master_key getmeili/meilisearch:latest 2. 安装 Meilisearch PHP 客户端

Scout 默认支持 Meilisearch,但确保已安装:

composer require meilisearch/meilisearch-php http-interop/http-factory-guzzle 3. 配置 .env 文件 SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://127.0.0.1:7700
MEILISEARCH_KEY=your_master_key
4. 在模型中使用 Searchable

与 Algolia 相同,只需引入 trait:

use Lar*el\Scout\Searchable;

class Post extends Model
{
use Searchable;
}
5. 导入数据并搜索 php artisan scout:import "App\Models\Post"

执行搜索:

$results = App\Models\Post::search('教程')->get();

自定义索引字段与搜索行为

默认情况下,Scout 会索引模型的所有属性。你可以重写 toSearchableArray() 方法来自定义数据:

public function toSearchableArray()
{
$array = $this->toArray();

return array_only($array, ['title', 'content', 'author.name']);
}

这样可以控制哪些字段被索引,提升性能和相关性。

如果想在保存模型时避免自动更新索引(例如在测试或批量操作时),可使用:

Post::withoutSyncingToSearch(function () {
// 批量创建或更新操作
});
基本上就这些。Lar*el Scout 让全文搜索变得简单,选择 Algolia 还是 Meilisearch 取决于你是否愿意托管还是自建服务。两者集成方式相似,切换方便,按项目需求选择即可。

以上就是Lar*el如何实现全文搜索_Lar*el Scout集成Algolia或Meilisearch教程的详细内容,更多请关注php中文网其它相关文章!


# laravel  # 报错  # 已有  # 你可以  # 如何实现  # 自定义  # 配置文件  # 搜索引擎  # ai  # app  # composer  # docker  # go  # php  # 路由  # 网站推广是如何收费的  # 人民图片网站建设工作  # 超级营销推广王老师是谁  # 关于SEO的做法总结  # 海外网站建设与推广教程  # 贵阳快速建设网站  # 网站建设今日价格查询  # 网站收录优化怎么做的啊  # 郑州酒店网站建设方案  # SEO HE JUN  # 只需  # 是一个  # 搜索功能  # 绑定 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  c++如何实现单例设计模式_c++线程安全的单例模式写法  在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析  Mac怎么使用表情符号_Mac Emoji快捷键面板  C++如何操作大型数据集_使用C++流式处理(Streaming)技术避免一次性加载大文件  必由学官网首页入口 必由学教师网页版登录指南  漫蛙官网正版漫画入口 漫蛙2官方网页登录地址  Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑  12306怎么选座位选到安静区_12306选座安静区域选择策略  顺丰快递查询系统 官方正版查询入口  J*aScript中安全有效地处理localStorage字符串数据  极兔快递快件信息查询系统 极兔快递官网运单号追踪  Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】  Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析  win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】  《刺客信条:影》PS5 Pro和Switch 2画面对比  TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程  Golang如何使用const iota_Go iota常量计数器讲解  GemBox Document HTML转PDF垂直文本渲染问题及解决方案  黑鲨3Pro怎样在相册开漫画风滤镜_iPhone黑鲨3Pro相册开漫画风滤镜【趣味滤镜】  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  大麦的“候补”是什么意思 大麦候补购票规则【详解】  TikTok搜索不到用户发布内容怎么办 TikTok用户内容搜索优化方法  写好的html代码怎么运行出来_运行写好的html代码方法【教程】  HTML长属性值处理:表单action路径优化与代码规范应对  批改网学生版PC登录 批改网官网登录系统入口  Python getattr() 异常处理深度解析:避免程序意外退出  厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新  AO3官方镜像站点汇总 AO3同人作品网页版直达链接  c++如何使用TBB库进行任务并行_c++ Intel线程构建模块  win11 arm版怎么安装 M1/M2 Mac虚拟机安装ARM win11的方法  C++ explicit关键字防止隐式转换_C++构造函数安全规范  一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证  PHP中获取MongoDB服务器运行时间(Uptime)的专业指南  随机参数递归函数的基准调用次数与时间复杂度探究  Lar*el 递归关系中排除指定分支的教程  uc浏览器网页版极速入口 uc网页浏览器网页版流畅体验  使用Pandas转换并合并DataFrame:多列映射至统一结构  漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口  Pandas DataFrame:高效添加条件计算列  天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】  MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具  拼多多赚钱渠道_拼多多收益来源  uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页  J*a TimerTask中HashMap意外清空的深层原因与解决方案  汽车之家官方网站官网入口_汽车之家网页版直接进入  Lar*el头像管理:图片缩放与旧文件删除的最佳实践  excel如何生成目录 excel一键生成工作表目录超链接  mc.js游戏直达 mc.js网页免下载版本秒进地址  今日头条怎么同步内容到抖音_今日头条内容同步到抖音教程 

搜索