Search code examples
phpsymfonyelasticsearchenqueue

Enqueue makes no difference in Symfony/Elasticsearch index creation


In a Symfony 4.3 application with Elastcsearc 6.8 plus friendsofsymfony/elastica-bundle v5.1.0 an index creation task takes 18 minutes to complete either with or without enqueue/enqueue-bundle 0.9.12 and enqueue/fs 0.9.12. Is there a package I'm missing (altho' enqueue says it's a complete solution) or a configuration error?

fos_elasitica.yaml:

fos_elastica:
    serializer: ~
    clients:
        default: { host: localhost, port: 9200 }
    indexes:
        house_date:
            types:
                house_date:
                    serializer:
                        groups: [house_date]
                    persistence:
                        # the driver can be orm, mongodb or phpcr
                        driver: orm
                        model: App\Entity\Contact
                        provider: ~
                    finder: ~

enqueue.yaml:

enqueue:
    default:
        transport: '%env(resolve:ENQUEUE_DSN)%'
        client: ~
enqueue_elastica:
    transport: '%enqueue.default_transport%

'

Edit:

After much exploration I've inched along but without ultimate success. Added was enqueue/elastica-bundle and enqueue.yaml has been edited to appear as above.

[An identical installation in Windows reaches a 256M memory limit at about 54% completion, again regardless of the presence of the enqueue components.]


Solution

  • It is likely true that the seemingly long time to populate the index was the result of an improper definition. The definition incorporated four entities (via relationships). By changing Contact to Household, which has a one to many relationship with Contact, time to populate the index was reduced was reduced by a factor of 10. As a result I'm abandoning this question and marking it Answered.