The provider concept abstracts the source objects and ability to fetch them and iterate over them. It is useful in combination with persister to populate the index with the data.
Note: The doc describes v5 api which is disabled by default.
Here's example on how to configure Doctrine ORM provider
# app/config/config.yml
fos_elastica:
indexes:
theIndexName:
persistence:
driver: orm
model: Application\UserBundle\Entity\User
provider: ~
There are other providers Doctrine MongoDB, Doctrine PHPCR available.