Add documentation (WIP)

This commit is contained in:
ornicar 2011-04-21 19:34:57 -07:00
parent 0ae6ef305f
commit 40a68c876d

View file

@ -56,3 +56,91 @@ With clone:
// ...
);
}
### Basic configuration
#### Declare a client
Elasticsearch client is comparable to doctrine connection.
Most of the time, you will need only one.
#app/config/config.yml
foq_elastica:
clients:
default: { host: localhost, port: 9200 }
#### Declare an index
Elasticsearch index is comparable to doctrine entity manager.
Most of the time, you will need only one.
foq_elastica:
clients:
default: { host: localhost, port: 9200 }
indexes:
website:
client: default
Here we created a "website" index, that uses our "default" client.
#### Declare a type
Elasticsearch type is comparable to doctrine entity repository.
foq_elastica:
clients:
default: { host: localhost, port: 9200 }
indexes:
website:
client: default
types:
user:
mappings:
username: { boost: 5 }
firstName: { boost: 3 }
lastName: { boost: 3 }
aboutMe:
### Populate the types
php app/console foq:elastica:populate
This command needs providers to insert new documents in the elasticsearch types.
There are 2 ways to create providers.
If your elasticsearch type matches a doctrine repository, go for the doctrine automatic provider.
Or, for complete flexibility, go for explicit provider.
#### Doctrine automatic provider
If we want to index the entities from a doctrine repository,
a little bit a configuration will let ElasticaBundle do it for us.
foq_elastica:
clients:
default: { host: localhost, port: 9200 }
indexes:
website:
client: default
types:
user:
mappings:
# your mappings
doctrine:
driver: orm
model: Application\UserBundle\Entity\User
provider:
Two drivers are actually supported: orm and mongodb.
##### Use a custom doctrine query builder
You can control which entitie will be indexed by specifying a custom query builder method.
doctrine:
driver: orm
model: Application\UserBundle\Entity\User
provider:
query_builder_method: createIsActiveQueryBuilder
Your repository must implement this method and return a doctrine query builder.