我正在开发一个Laravel项目,我在模型商品上使用https://laravel.com/docs/5.3/scout和ElasticSearch。
使用命令php artisan scout:import "App\Models\Offer"
,我可以从我的数据库中使用offers
生成ElasticSearch的索引,并且没问题。之后,我可以在此索引中搜索offers
。
但是现在,我从我的数据库中删除了一些offers
,而且我不知道如何重置或重新生成删除旧ID的索引?
例如,我删除了数据库中的Offer with id = 15
,但是当我进行搜索时,此商品(id = 15)始终被编入索引,并且因为此商品不存在而收到错误。< / p>
我尝试重新运行命令scout:import
但没有效果。我喜欢的唯一解决方案是用https://laravel.com/docs/master/scout#configuring-model-indexes重命名索引,但我不能每次都这样做......
有什么想法吗?
答案 0 :(得分:0)
您可以使用php artisan scout:flush "App\Models\Offer"
您还可以从storage
文件夹
答案 1 :(得分:-1)
当您对声明为Searchable的任何Model进行删除/更新时,驱动程序应自动删除/更新记录。
要刷新模型,请使用:php artisan scout:import Model
您可以查看错误区域的laravel-scout,可能有相关内容或尝试更新L5.4