PHPackages                             whereof/think-scout - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. whereof/think-scout

Abandoned → [tp5er/think-scout](/?search=tp5er%2Fthink-scout)Library

whereof/think-scout
===================

Thinkphp Scout provides a driver based solution to searching your Eloquent models. Inspired By Laravel Scout.

0.0.1(4y ago)11.6kPHPPHP &gt;7.1

Since May 5Pushed 11mo agoCompare

[ Source](https://github.com/tp5er/think-scouts)[ Packagist](https://packagist.org/packages/whereof/think-scout)[ RSS](/packages/whereof-think-scout/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

前言

> [tp5er/think-scout](https://github.com/tp5er/think-scouts)根据thinkphp设计思想参考[laravel/scout](https://github.com/laravel/scout)进行扩展

tp5er/think-scout 为模型的全文搜索提供了一个简单的、基于驱动程序的解决方案。

目前，Scout 自带了一个 Elasticsearch 驱动；而编写自定义驱动程序很简单，你可以自由地使用自己的搜索实现来扩展 Scout。

命令行使用
-----

[](#命令行使用)

```
//创建模型索引
php think scout:index "app\\model\\User"
//删除模型的索引
php think scout:delete-index "app\\model\\User"
//分批将模型中的数据同步到引擎中
php think scout:import "app\\model\\User"
//清空引擎中的数据（危险操作慎重使用）
php think scout:flush "app\\model\\User"

```

Scout事件
-------

[](#scout事件)

事件描述事件使用方法名onScoutUpdated注册模型新增/更新事件Event::trigger('onScoutUpdated', User::find(1));onScoutDeleted注册模型删除事件Event::trigger('onScoutDeleted', User::find(1));onScoutImported注册模型全量新增/更新Event::trigger('onScoutImported', new User());onScoutFlushed注册模型全量删除数据Event::trigger('onScoutFlushed', new User());onScoutCreateIndex注册模型索引创建Event::trigger('onScoutCreateIndex', new User());onScoutDeleteIndex注册模型索引删除Event::trigger('onScoutDeleteIndex', new User());模型事件
----

[](#模型事件)

> 官网参考地址：[https://www.kancloud.cn/manual/thinkphp6\_0/1037598](https://www.kancloud.cn/manual/thinkphp6_0/1037598)

事件描述事件方法名after\_read查询后onAfterReadbefore\_insert新增前onBeforeInsertafter\_insert新增后onAfterInsertbefore\_update更新前onBeforeUpdateafter\_update更新后onAfterUpdatebefore\_write写入前onBeforeWriteafter\_write写入后onAfterWritebefore\_delete删除前onBeforeDeleteafter\_delete删除后onAfterDeletebefore\_restore恢复前onBeforeRestoreafter\_restore恢复后onAfterRestore注册Scout事件到模型事件中
---------------

[](#注册scout事件到模型事件中)

> 如果需要通过模型事件来自动完成Scout数据增量同步到引擎中需要进行手动注册
>
> 重要事情说三遍：
>
> 手动注册Scout事件到模型事件中！
>
> 手动注册Scout事件到模型事件中！
>
> 手动注册Scout事件到模型事件中！

### 手动依次注册

[](#手动依次注册)

> 最佳的方式是使用队列

```
