PHP code example of panytsch / elastic-migrations-laravel

1. Go to this page and download the library: Download panytsch/elastic-migrations-laravel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

panytsch / elastic-migrations-laravel example snippets


Index::create('my-index');

Index::create('my-index', function (Mapping $mapping, Settings $settings) {
    // to add a new field to the mapping use method name as a field type (in Camel Case), 
    // first argument as a field name and optional second argument as additional field parameters  
    $mapping->text('title', ['boost' => 2]);
    $mapping->float('price');

    // you can define a dynamic template as follows
    $mapping->dynamicTemplate('my_template_name', [
        'match_mapping_type' => 'long',
        'mapping' => [
            'type' => 'integer',
        ],
    ]);
    
    // you can also change the index settings 
    $settings->index([
         'number_of_replicas' => 2,
         'refresh_interval' => -1
    ]);
    
    // and analisys configuration
    $settings->analysis([
        'analyzer' => [
            'title' => [
                'type' => 'custom',
                'tokenizer' => 'whitespace'    
            ]
        ]
    ]);
});

Index::createIfNotExists('my-index');

Index::putMapping('my-index', function (Mapping $mapping) {
    $mapping->text('title', ['boost' => 2]);
    $mapping->float('price');
});

Index::putSettings('my-index', function (Settings $settings) {
    $settings->index([
         'number_of_replicas' => 2,
         'refresh_interval' => -1
    ]);
});

Index::putSettingsHard('my-index', function (Settings $settings) {
    $settings->analysis([
        'analyzer' => [
            'title' => [
                'type' => 'custom',
                'tokenizer' => 'whitespace'
            ]
        ]
    ]);
});

Index::drop('my-index');

Index::dropIfExists('my-index');
elastic.migrations.php
bash
php artisan vendor:publish --provider="ElasticClient\ServiceProvider"
bash
php artisan vendor:publish --provider="ElasticMigrations\ServiceProvider"
bash
php artisan migrate
bash
php artisan elastic:migrate
bash
php artisan elastic:migrate 2018_12_01_081000_create_my_index
bash
php artisan elastic:migrate --force
bash
php artisan elastic:migrate:rollback 
bash
php artisan elastic:migrate:refresh
bash
php artisan elastic:migrate:status