Laravel Scout & Algolia - 从 TNTSearch 迁移到 Algolia 后无法在登台服务器上创建索引
Laravel Scout & Algolia - can't create index on staging server after migrating from TNTSearch to Algolia
这很奇怪。我已经在我的本地服务器上成功创建了一个索引,它出现在 Algolia 仪表板中。
但是,当我 运行 php artisan scout:import 'App\MyModel'
在我的暂存服务器上时,我得到:
Imported [App\MyModel] models up to ID: 22
All [App\MyModel] records have been imported.
但该索引未显示在 Algolia 仪表板中。
我比较了我的 .env
文件,这些字段在我的两个应用程序中都是相同的:
SCOUT_DRIVER=algolia
SCOUT_PREFIX=staging_ //this one is "development_" on my local server
ALGOLIA_APP_ID=aaaaa
ALGOLIA_MONITORING_KEY=bbbbb
ALGOLIA_SEARCH=ccccc
ALGOLIA_SECRET=ddddd
我的config/scout.php
'driver' => env('SCOUT_DRIVER', 'algolia'),
'prefix' => env('SCOUT_PREFIX', ''),
'queue' => true,
'algolia' => [
'id' => env('ALGOLIA_APP_ID', ''),
'secret' => env('ALGOLIA_SECRET', ''),
],
这是我的 config/algolia.php
'default' => 'main',
'connections' => [
'main' => [
'id' => env('ALGOLIA_APP_ID'),
'key' => env('ALGOLIA_SECRET'),
],
'alternative' => [
'id' => 'your-application-id',
'key' => 'your-api-key',
],
],
感谢任何帮助。谢谢!
更新
当我 运行 php artisan scout:import 'App\MyModel'
时,storage
文件夹中的索引文件 my_models.index
似乎得到了更新
我相信这是在 Algolia 之前使用 TNTSearch 的遗留问题,但我不明白为什么我的应用程序在我的登台服务器上使用 TNTSearch 而不是 Algolia。
我得出这个结论是因为当我 运行 php artisan scout:import 'App\MyModel'
这个索引文件在我的登台服务器上更新而不是在我的本地机器上。
更新#2
ssh 进入服务器,在 php artisan tinker
内部,如果我 运行 env('SCOUT_DRIVER')
或 config('scout.driver')
.
我得到 algolia
更新#3
尝试了 php artisan config:clear
和 cache:clear
,但在我的模型上 运行 scout:import
之后,我仍然得到新的 my_model.index
文件。
即使在我删除了 .env
、composer.json
和 AppServiceProvider.php
中所有提及 TNT 的内容之后。
重新启动服务器修复它!
这很奇怪。我已经在我的本地服务器上成功创建了一个索引,它出现在 Algolia 仪表板中。
但是,当我 运行 php artisan scout:import 'App\MyModel'
在我的暂存服务器上时,我得到:
Imported [App\MyModel] models up to ID: 22
All [App\MyModel] records have been imported.
但该索引未显示在 Algolia 仪表板中。
我比较了我的 .env
文件,这些字段在我的两个应用程序中都是相同的:
SCOUT_DRIVER=algolia
SCOUT_PREFIX=staging_ //this one is "development_" on my local server
ALGOLIA_APP_ID=aaaaa
ALGOLIA_MONITORING_KEY=bbbbb
ALGOLIA_SEARCH=ccccc
ALGOLIA_SECRET=ddddd
我的config/scout.php
'driver' => env('SCOUT_DRIVER', 'algolia'),
'prefix' => env('SCOUT_PREFIX', ''),
'queue' => true,
'algolia' => [
'id' => env('ALGOLIA_APP_ID', ''),
'secret' => env('ALGOLIA_SECRET', ''),
],
这是我的 config/algolia.php
'default' => 'main',
'connections' => [
'main' => [
'id' => env('ALGOLIA_APP_ID'),
'key' => env('ALGOLIA_SECRET'),
],
'alternative' => [
'id' => 'your-application-id',
'key' => 'your-api-key',
],
],
感谢任何帮助。谢谢!
更新
当我 运行 php artisan scout:import 'App\MyModel'
storage
文件夹中的索引文件 my_models.index
似乎得到了更新
我相信这是在 Algolia 之前使用 TNTSearch 的遗留问题,但我不明白为什么我的应用程序在我的登台服务器上使用 TNTSearch 而不是 Algolia。
我得出这个结论是因为当我 运行 php artisan scout:import 'App\MyModel'
这个索引文件在我的登台服务器上更新而不是在我的本地机器上。
更新#2
ssh 进入服务器,在 php artisan tinker
内部,如果我 运行 env('SCOUT_DRIVER')
或 config('scout.driver')
.
algolia
更新#3
尝试了 php artisan config:clear
和 cache:clear
,但在我的模型上 运行 scout:import
之后,我仍然得到新的 my_model.index
文件。
即使在我删除了 .env
、composer.json
和 AppServiceProvider.php
中所有提及 TNT 的内容之后。
重新启动服务器修复它!