outl1ne/laravel-scout-batch-searchable

此 Laravel 扩展包为 Scout 添加了一个 BatchSearchable 特性,允许批量更新 Scout。

2.2.3 2024-01-26 15:22 UTC

This package is auto-updated.

Last update: 2024-08-26 16:46:13 UTC


README

Latest Version on Packagist Total Downloads

Laravel 扩展包允许批量更新 Scout。

要求

  • Laravel Scout 9+
  • 具有 cron 调度的调度器

描述

此包提供了一个新的特性 BatchSearchable,应该代替 Laravel Scout 提供的常规 Searchable 特性。

使用该特性,所有通过 Scout 推送到搜索服务器的更新(无论是 MeiliSearch、Algolia 还是其他),都会批量发送,而不是逐个发送。

更新可以在两种条件下发送

scout.batch_searchable_max_batch_size(默认 250) 超过时

或者

自上次更新以来 scout.batch_searchable_debounce_time_in_min(默认 1) 分钟已过

需要更新的模型 ID 存储在默认缓存层中,使用 Cache 助手。

防抖检查使用 Laravel 的调度器安排一个作业,检查所有待处理的更新队列,查看是否已过所需时间。这要求系统有一个每分钟调用 schedule:run 的有效 cron 设置。

安装

使用 Composer 在 Laravel Nova 项目中安装此包并运行迁移

composer require outl1ne/laravel-scout-batch-searchable

用法

在之前使用 Searchable 特性之处,只需使用 BatchSearchable 即可

use Outl1ne\ScoutBatchSearchable\BatchSearchable;

class SomeModel extends Model {
    use BatchSearchable;
}

鸣谢

许可证

Laravel Scout Batch Searchable 是开源软件,许可证为 MIT