optimistdigital/laravel-scout-batch-searchable

这个Laravel包添加了BatchSearchable特性,允许批量更新Scout。

2.2.3 2024-01-26 15:22 UTC

This package is auto-updated.

Last update: 2024-08-26 16:26:02 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的调度器安排一个工作,检查所有待处理的更新队列,看是否已通过所需的时间。这需要系统有一个工作良好的cron设置,每分钟调用一次schedule:run

安装

通过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许可