使用TNTSearch驱动程序进行搜索在Homestead环境中工作,但在生产时它返回错误:以下错误,
Symfony\Component\Debug\Exception\FatalThrowableError: Class 'AlgoliaSearch\Version' not found
在vendor/laravel/scout/src/EngineManager.php:31
但是我的.env有SCOUT_DRIVER=tntsearch
和配置文件scout.php有:
'driver' => env('SCOUT_DRIVER', 'tntsearch'),
'tntsearch' => [
'storage' => storage_path(),
'fuzziness' => env('TNTSEARCH_FUZZINESS', false),
'fuzzy' => [
'prefix_length' => 2,
'max_expansions' => 50,
'distance' => 2
],
'asYouType' => false,
'searchBoolean' => env('TNTSEARCH_BOOLEAN', false),
]
问题是我没有使用Algolia搜索,我的作曲家文件有Scout和TNTSearch驱动程序。搜索工作在我当地的Homestead环境中,而不是在生产服务器上。
我解决了这个问题,我已经上传了我的项目,但由于某种原因,需要同步的.index文件但是没有用。如果您在现场发生这种情况,请确保您使用Git或SVN或任何索引或运行php artisan scout:import App\\Your\\Model
确认SCOUT_DRIVER=tntsearch
已添加到.env文件中。
就我个人而言,我已将SCOUT_DRIVER=tntsearch
添加到我的本地.env文件中,但不是我的.env文件中添加了问题的环境。添加env var后不要忘记运行php artisan config:clear
。
感谢@ m33bo让我指向了正确的方向!