baijunyao/laravel-scout-elasticsearch
介绍
为 Laravel Scout 开发的 Elasticsearch 驱动;
之所以造这个轮子是因为 laravel-scout-elastic 不支持中文分词且不支持多张表;
而 Elasticquent 这种不基于 scout 的又略麻烦;
文档
兼容性
- 支持 Laravel 7–13,Laravel 13 要求 PHP 8.3+。
- 支持 Scout 7.1–11;已适配 Scout 11 的条件结构和比较操作符。
- Elasticsearch PHP 客户端仍支持 6.x / 7.x;本次不包含 Elasticsearch 8.x / 9.x 升级。
- 支持
cursor()延迟读取模型,模型会在迭代时按搜索结果顺序一次性载入,并非逐行数据库游标。
索引沿用 scout.elasticsearch.prefix 配置。创建、删除索引时传入未加此前缀的名称:
php artisan scout:index articles
php artisan scout:delete-index articles
直接调用引擎的 createIndex($name, $options) 时,$options 为 Elasticsearch 创建索引的请求体(如 settings、mappings);不支持 scout:index --key。
开发验证
测试环境使用 Laravel 13、Testbench 11 和 PHPUnit 11,要求 PHP 8.3+ 及 SQLite 扩展:
composer install
composer test
测试使用模拟的 Elasticsearch 客户端,不依赖 Elasticsearch 服务;真实服务及中文分词插件需在应用环境中另行验证。
教程
链接
Related Packages
Version History
| Version | Released | Laravel | License |
|---|---|---|---|
| v6.0.0 | ^7.0 | | MIT | |
| v5.3.0 | ^7.0 | | MIT | |
| v5.2.0 | ^7.0 | | MIT | |
| v5.1.0 | MIT | ||
| v5.0.0 | MIT | ||
| v4.0.1 | MIT | ||
| v4.0.0 | MIT | ||
| v3.0.1 | MIT | ||
| v3.0.0 | MIT | ||
| v2.1.0 | MIT | ||
| v2.0.1 | MIT | ||
| v2.0.0 | MIT | ||
| v1.0.2 | MIT | ||
| v1.0.1 | MIT | ||
| v1.0.0 | MIT |