Я пытаюсь обновить свою версию 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 }
Любая помощь или идея была бы замечательной.Заранее спасибо