gbprod / elastica-extra-bundle
Bundle providing extra elastica tools for managing indices and types settings
Installs: 6 685
Dependents: 0
Suggesters: 1
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 5
Type:bundle
Requires
- php: >=5.6
- ruflin/elastica: ^3.1|^5.0|^6.0
- symfony/console: ^2.7|^3.0|^4.0
- symfony/framework-bundle: ^2.7|^3.0|^4.0
- symfony/yaml: ^2.7|^3.0|^4.0
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0
This package is auto-updated.
Last update: 2021-08-07 10:20:23 UTC
README
Bundle providing extra elastica tools for managing indices and types settings.
With this bundle you can :
- Manage index settings and mappings in yaml
- Create and delete index
- Manage indices' aliases
- Reindex
Installation
With composer :
composer require gbprod/elastica-extra-bundle
Update your app/AppKernel.php
file:
public function registerBundles() { $bundles = array( new GBProd\ElasticaExtraBundle\ElasticaExtraBundle(), ); }
Configure Elastica client
gbprod_elastica_extra: default_client: 'elastica.default_client' # Elastica client service's name
You can create Elastica client using a bundle like:
- FOSElasticaBundle
Service name will look like
fos_elastica.client.my_client
- My lightweight bundle ElasticaBundle
Service name will look like
elastica.default_client
- DIY
Index Management Operations
Configuration
Set indices setup
elastica_extra: default_client: 'elastica.default_client' indices: my_index: settings: number_of_shards: 3 number_of_replicas: 2 mappings: my_type: _source: enabled: true properties: first_name: type: string analyzer: standard age: type: integer my_index_2: ~
Create index
Will create index using his configuration.
php app/console elasticsearch:index:create my_index
Will create index using another index configuration (usefull when using aliases)
php app/console elasticsearch:index:create my_versionned_index --alias=my_index
Delete index
php app/console elasticsearch:index:delete my_index --force
Put index settings
php app/console elasticsearch:index:put_settings my_index
Will put index settings using another index configuration (usefull when using aliases)
php app/console elasticsearch:index:put_settings my_versionned_index --alias=my_index
Put index mappings
php app/console elasticsearch:index:put_mappings my_index my_type
Will put index mappings using another index configuration (usefull when using aliases)
php app/console elasticsearch:index:put_mappings my_versionned_index my_type --alias=my_index
Aliases Management Operations
List aliases for an index
php app/console elasticsearch:alias:list my_index
Add alias for an index
php app/console elasticsearch:alias:add my_index my_alias
If --replace
options is set, an existing alias will be replaced
php app/console elasticsearch:alias:add my_index my_alias --replace
Remove alias for an index
php app/console elasticsearch:alias:remove my_index my_alias
List indices
This command list indices
php app/console elasticsearch:index:list
You also can filter displayed indices using regex
php app/console elasticsearch:index:list --pattern="user*"
Reindex
This command reindex using reindex api
php app/console elasticsearch:reindex [old-index] [new-index]
Use a different client
For all commands you can specify a different client using --client
option.
eg:
php app/console elasticsearch:index:create my_index --client=my_client_service