Ошибка «Не было зарегистрировано ни одного поставщика для индекса« apple »» после обновления FOSElasticaBundle - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь обновить свою версию Symfony, и у меня возникают проблемы с FOSastica-bundle 5.0.3.

Я обновил свой сервер ES до 5.6.Если я сбрасываю свои старые данные ES и помещаю их на новый сервер, все работает нормально.Но если я пытаюсь сделать fos :astica: populate, у меня появляется эта ошибка:

No providers were registered for index "apple".

Моя старая конфигурация (FOSEB 3.0) не нуждалась в каких-либо провайдерах для этого индекса, и я не понимаю, как добавитьодин для моей новой конфигурации.Я весь день искал, как настроить этот провайдер индекса, чтобы заставить заполнение работать в моей новой среде, и я пробовал много вещей, но безуспешно.

Мойastica.yml:

fos_elastica:
    clients:
        default: { host: "%elasticsearch.ip%", port: "%elasticsearch.port%" }
    indexes:
        apple:
            client: default
            settings:
                index:
                    analysis:
                        analyzer:
                            custom_index_analyzer:
                                type: custom
                                tokenizer: standard
                                filter   : [lowercase, asciifolding, nGram]
                            custom_search_analyzer:
                                type: custom
                                tokenizer: standard
                                filter   : [lowercase, asciifolding]
                        filter:
                            nGram:
                                type:           nGram
                                min_gram:       3
                                max_gram:       20
                                token_chars:    ['letter', 'digit', 'punctuation', 'symbol']
            types:
                banana:
                    properties:
                        id: { boost: 5 }
                    persistence:
                        identifier: id
                        driver:     orm
                        model:      apple\AppBundle\Entity\banana\banana
                        provider:  
                            service: "@apple_app.elastica.provider.banana"

                orange:
                    properties:
                        id: { boost: 5 }
                    persistence:
                        identifier: id
                        driver:     orm
                        model:      apple\AppBundle\Entity\banana\orange
                        provider: 
                            service: "@apple_app.elastica.provider.orange"

Мои услуги:

services:
    # manager
    apple_app.elastica.manager.abstract:
        class: apple\AppBundle\Manager\Common\ElasticaManager
        abstract: true
        calls:
            - ['setTranslator', ['@translator']]
            - ['setDefaultLocale', ['%locale%']]
            - ['setLocales', ['%available_languages%']]

    apple_app.elastica.manager.banana:
        class: apple\AppBundle\Manager\Elastica\bananaManager
        parent: apple_app.elastica.manager.abstract
        calls:
            - ['setIndexes', [{'banana': '@fos_elastica.index.apple.banana'}]]
            - ['setContainer', ['@service_container']]

    apple_app.elastica.manager.orange:
        class: apple\AppBundle\Manager\Elastica\orangeManager
        parent: apple_app.elastica.manager.abstract
        calls:
            - ['setIndexes', [{'orange': '@fos_elastica.index.apple.orange'}]]

    # provider
    apple_app.elastica.provider.abstract:
        class: apple\AppBundle\Provider\Common\AbstractProvider
        abstract: true
        calls:
            - ['setEntityManager', ['@doctrine.orm.entity_manager']]

    apple_app.elastica.provider.apple:
        class: apple\AppBundle\Provider\Common\AbstractProvider
        abstract: true
        calls:
            - ['setEntityManager', ['@doctrine.orm.entity_manager']]

    apple_app.elastica.provider.banana:
        parent: apple_app.elastica.provider.abstract
        class: apple\AppBundle\Provider\bananaProvider
        tags:
            - { name: fos_elastica.provider, index: apple, type: banana }
        calls:
            - ['setIndex', ['@fos_elastica.index.apple.banana']]
            - ['setElasticaManager', ['@apple_app.elastica.manager.banana']]

    apple_app.elastica.provider.orange:
        parent: apple_app.elastica.provider.abstract
        class: apple\AppBundle\Provider\orangeProvider
        tags:
            - { name: fos_elastica.provider, index: apple, type: orange }
        calls:
            - ['setIndex', ['@fos_elastica.index.apple.orange']]
            - ['setElasticaManager', ['@apple_app.elastica.manager.orange']]

    #   listener
    apple_app.elastica.listener.abstract:
        class: apple\AppBundle\Listener\Common\ElasticaListener
        calls:
            - ['setDefaultLocale', ['%locale%']]
            - ['setLocales', ['%available_languages%']]

    apple_app.elastica.listener.banana:
        parent: apple_app.elastica.listener.abstract
        class: apple\AppBundle\Listener\Elastica\bananaListener
        calls:
            - ['setManager', ['@apple_app.elastica.manager.banana']]
            - ['setIndex']
        tags:
            - { name: doctrine.event_subscriber }

    apple_app.elastica.listener.orange:
        parent: apple_app.elastica.listener.abstract
        class: apple\AppBundle\Listener\Elastica\orangeListener
        calls:
            - ['setManager', ['@apple_app.elastica.manager.orange']]
            - ['setIndex']
        tags:
            - { name: doctrine.event_subscriber }

Любая помощь или идея была бы замечательной.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...