咨询/ scout-elastic-app-search
Laravel Scount Adapter for Elastic Enterprise App Search
0.2.0
2023-05-16 10:41 UTC
Requires
- php: ^8.2
- elastic/enterprise-search: ^8.7.0
- laravel/scout: ^9.8
Requires (Dev)
- orchestra/testbench: ^6.17
- phpunit/phpunit: ^9.3
README
将 Elastic App Search 集成到 Laravel Scout。
这是一个早期但功能性的版本。待添加测试。
安装
您可以通过 composer 安装此包
composer require konsulting/scout-elastic-app-search
用法
为了使用此包,您必须设置 Laravel Scout 以使用驱动程序
SCOUT_DRIVER=elastic-app-search
然后设置 Elastic App Search 的连接详情
SCOUT_ELASTIC_APP_SEARCH_ENDPOINT= SCOUT_ELASTIC_APP_SEARCH_API_KEY=
您还需要调整 config/scout.php
以使数据块大小为 100 条记录
'chunk' => [ 'searchable' => 100, 'unsearchable' => 100, ],
一旦您将可搜索特性添加到您的模型中,您就可以使用以下方式进行搜索
$result = Model::search($searchTerm)->get();
如果您希望对搜索有更多的控制,您可以使用 Scout 以熟悉的方式对其进行扩展。
$result = Model::search($searchTerm, function (ElasticAppProxy $elastic, $query, $options) { // Adjust the options here // E.g. set the search fields in options, and add weightings $options['search_fields']['field_name']['weight'] = 1; // Use filters, and so on $options['filters'] = [ 'all' => [ 'name' => 'Konsulting', 'keyword' => 'Scout', ], ]; // Manipulate the position in results $options['page']['size'] = $this->limit; $options['page']['current'] = $this->currentPage(); return $elastic->search($query, $options); })->get();
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近发生了哪些变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 keoghan@klever.co.uk 联系,而不是使用问题跟踪器。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。
Laravel 包模板
此包是使用 Laravel 包模板 生成的。