咨询/scout-elastic-app-search

Laravel Scount Adapter for Elastic Enterprise App Search

0.2.0 2023-05-16 10:41 UTC

This package is auto-updated.

Last update: 2024-09-16 13:43:10 UTC


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 包模板 生成的。