Исключение Sulu Massive Search Bundle - PullRequest
0 голосов
/ 04 октября 2019

после вызова в bash

bin/adminconsole -vvv massive:search:reindex && bin/websiteconsole massive:search:reindex

мы получаем в нашем sulu 1.6, который скоро станет производственной средой, следующую постоянную ошибку:

provider "doctrine_orm"

-- reindexing "0" instances of "Sulu\Bundle\ContactBundle\Entity\Account"

    0 [>---------------------------] < 1 sec 22.0 MiB

-- reindexing "5" instances of "Sulu\Bundle\ContactBundle\Entity\Contact"

 5/5 [============================] 100% < 1 sec/< 1 sec 26.0 MiB

-- reindexing "15" instances of "Sulu\Bundle\MediaBundle\Entity\FileVersionMeta"

 15/15 [============================] 100% < 1 sec/< 1 sec 26.0 MiB

-- reindexing "0" instances of "Sulu\Bundle\CategoryBundle\Entity\CategoryTranslation"

    0 [>---------------------------] < 1 sec 26.0 MiB

provider "sulu_structure"

-- reindexing "5" instances of "Sulu\Bundle\ContentBundle\Document\HomeDocument"

 0/5 [>---------------------------]   0% < 1 sec/< 1 sec 30.5 MiB[2019-10-07 23:56:19] console.ERROR: Error thrown while running command "-vvv massive:search:reindex". Message: "Call to a member function getLocalization() on null" {"exception":"[object] (Error(code: 0): Call to a member function getLocalization() on null at /app/vendor/sulu/sulu/src/Sulu/Component/Content/Compat/LocalizationFinder.php:40)","command":"-vvv massive:search:reindex","message":"Call to a member function getLocalization() on null"} []
23:56:19 ERROR     [console] Error thrown while running command "-vvv massive:search:reindex". Message: "Call to a member function getLocalization() on null"
[
  "exception" => Error {
    #message: "Call to a member function getLocalization() on null"
    #code: 0
    #file: "./vendor/sulu/sulu/src/Sulu/Component/Content/Compat/LocalizationFinder.php"
    #line: 40
    trace: {
      ./vendor/sulu/sulu/src/Sulu/Component/Content/Compat/LocalizationFinder.php:40 { …}
      ./vendor/sulu/sulu/src/Sulu/Component/Content/Document/Subscriber/FallbackLocalizationSubscriber.php:118 { …}
      ./vendor/sulu/sulu/src/Sulu/Component/Content/Document/Subscriber/FallbackLocalizationSubscriber.php:93 { …}
      ./vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:214 { …}
      ./vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:44 { …}
      ./vendor/sulu/document-manager/lib/Collection/QueryResultCollection.php:85 { …}
      ./vendor/sulu/sulu/src/Sulu/Bundle/ContentBundle/Search/Reindex/StructureProvider.php:105 { …}
      ./vendor/massive/search-bundle/Command/ReindexCommand.php:200 { …}
      ./vendor/massive/search-bundle/Command/ReindexCommand.php:150 { …}
      ./vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:255 { …}
      ./vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:981 { …}
      ./vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:86 { …}
      ./vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:254 { …}
      ./vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:74 { …}
      ./vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:147 { …}
      ./bin/console.php:23 {
        › $application = new Application($kernel);
        › $application->run($input);
        › 
        arguments: {
          $input: Symfony\Component\Console\Input\ArgvInput {#1 …}
        }
      }
      ./bin/adminconsole:7 { …}
    }
  },
  "command" => "-vvv massive:search:reindex",
  "message" => "Call to a member function getLocalization() on null"
]

Я уже удалил вручную var/indexes,но проблема преобладает.

У меня есть поисковые теги <tag name="sulu.search.field" />, добавленные к text_line, text_editor полям.

У кого-нибудь есть опыт в решении этой проблемы?

локально я исправил это путем удаления и повторной инициализации всей базы данных, но в нашей системе подготовки я бы не хотел делать это таким образом;).

Огромное спасибо!

1 Ответ

1 голос
/ 08 октября 2019

Убедитесь, что с помощью следующих команд данные веб-пространства удаленного или переименованного веб-пространства по-прежнему не существуют:

bin/adminconsole doctrine:phpcr:shell 'query "SELECT jcr:uuid FROM [nt:base] AS n WHERE ISCHILDNODE(n, \'/cmf\')"'
bin/websiteconsole doctrine:phpcr:shell 'query "SELECT jcr:uuid FROM [nt:base] AS n WHERE ISCHILDNODE(n, \'/cmf\')"'

Если все еще имеются старые данные удаленного веб-пространства, используйте следующие команды для его удаления:

bin/adminconsole doctrine:phpcr:node:remove /cmf/oldwebspacekey
bin/websiteconsole doctrine:phpcr:node:remove /cmf/oldwebspacekey

Рекомендуется создать резервную копию перед выполнением команд удаления.

...