我正在使用 Laravel 显示数据库(SQL Server)中的项目列表,这些项目将由另一个软件更新。因此,使用 Laravel,我只显示项目,没有插入、更新或删除功能。
我正在使用 Laravel Scout 和 TNTSearch ( https://github.com/teamtnt/laravel-scout-tntsearch-driver ) 在项目列表中进行搜索。问题是,每次数据库表发生变化时如何刷新索引?
我正在使用 Laravel 显示数据库(SQL Server)中的项目列表,这些项目将由另一个软件更新。因此,使用 Laravel,我只显示项目,没有插入、更新或删除功能。
我正在使用 Laravel Scout 和 TNTSearch ( https://github.com/teamtnt/laravel-scout-tntsearch-driver ) 在项目列表中进行搜索。问题是,每次数据库表发生变化时如何刷新索引?
我制作了一个包,可以使用 Scoutscout:flush
和scout:import
命令刷新应用程序中任何位置的每个模型
检查您拥有的索引,例如 elasticsearch
curl 'localhost:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open statuses GBNC5c4jQiqgNqBMEGJJJw 1 1 1 0 5.7kb 5.7kb
yellow open users Sndfs-KeQWeK6zv5p8BEpw 1 1 52 7 72.6kb 72.6kb
删除所需的索引
curl -XDELETE 'localhost:9200/statuses'
重新导入数据
php artisan scout:import "App\Status"
删除的另一个快捷方式是
php artisan scout:flush "App\Status"