Это очень странно. Я успешно создал индекс на моем локальном сервере, и он появился в лифте Алголии.Laravel Scout & Algolia - не может создать индекс на промежуточном сервере после перехода с TNTSearch на 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',
],
],
Любая помощь приветствуется. Благодаря!
UPDATE
кажется, что индексный файл my_models.index
в папке storage
обновляется при запуске php artisan scout:import 'App\MyModel'
Я считаю, что это остатки от использования TNTSearch до того Algolia, но я не могу понять, почему это мое приложение, использующее TNTSearch, а не Algolia на моем промежуточном сервере.
Я пришел к выводу, что, когда я запускаю php artisan scout:import 'App\MyModel'
, этот индексный файл обновляется на моем промежуточном сервере, но не на моем локальном компьютере.
UPDATE # 2
соединитесь с сервером, внутри php artisan tinker
я получаю algolia
если я бегу env('SCOUT_DRIVER')
или config('scout.driver')
.
UPDATE # 3
попробовал php artisan config:clear
и cache:clear
, но я все еще получаю новый my_model.index
файл после того, как я бегу scout:import
на моей модели. Даже после того, как я удалил все упоминания о TNT от .env
, composer.json
и AppServiceProvider.php
.
ОК, это немного неудобная ситуация, но, вероятно, лучший способ действий: мы не хотим «[решено]» в вопросе, есть ответ, и проблема, следовательно, не воспроизводится, но все это может помочь кому-то в будущем ... Я отменил ваш «ответ», чтобы вы могли его принять, откат вашего вопроса и его закрытие. Теперь вы можете принять свой ответ, чтобы положить это на отдых. – deceze
Я знаю, это звучит как глупая ошибка, но я думаю, что что-то пошло не так (возможно, функция, а не ошибка) с кешированием на моем сервере. Я не думаю, что это нужно удалить. Я потерял день, пытаясь понять это, и только перезапустил сервер из отчаяния.Это не Windows XP и перезапуск сервера после установки новой библиотеки PHP не должно быть (и не является) тем, что вы ожидаете делать. Правильно, чтобы сделать, было бы выяснить, почему это произошло, но, к сожалению, у меня нет времени и опыта для этого. – dbr
Ну, если вы когда-нибудь сможете расширить этот ответ на что-то более глубокое, я бы согласился с тем, что это проблема с решением. Таким образом ... «перезапуск» должен быть одним из этапов устранения неполадок по умолчанию. В любом случае, этот вопрос не будет удален, он останется закрытым до дальнейшего уведомления. – deceze