triadev/laravel-elasticsearch-config-builder

Elasticsearch config (mappings + settings) builder for laravel.

v1.0.0 2018-09-09 20:21 UTC

This package is auto-updated.

Last update: 2024-04-22 06:53:10 UTC


README

Software license Travis Coveralls CodeCov Latest stable Latest development Monthly installs

Elasticsearch config (mappings + settings) builder for laravel.

Supported laravel versions

Laravel 5.5 Laravel 5.6 Laravel 5.7

Supported elasticsearch versions

Elasticsearch 6.0 Elasticsearch 6.1 Elasticsearch 6.2 Elasticsearch 6.3 Elasticsearch 6.4

Main features

  • Build mappings
  • Build settings
  • Multilanguage keys
  • Multilanguage indices
  • Mapping validation check

Installation

Composer

composer require triadev/laravel-elasticsearch-config-builder

Application

The package is registered through the package discovery of laravel and Composer.

https://laravel.com/docs/5.6/packages

Configuration

Key Value Description
filePath STRING File path for elasticsearch configs
validation.whitelistFilter ARRAY ---
indices ARRAY [INDEX => VERSION, ...]

Mappings

Directory (i.e. 1.0.0) with elasticsearch config files.

mappings.php (Example)

return [
    TYPE => [
        'properties' => [
            FIELD => [
                'type' => TYPE
            ],
            ...
        ],
        ...
    ],
    ...
];

settings.php (Example)

return [
    'refresh_interval' => "30s",
    'analysis' => [
        'filter' => [
            'germanStop' => [
                'type' => 'stop',
                'stopwords' => '_german_'
            ]
        ],
        'analyzer' => [
            'exampleAnalyzer' => [
                'type' => 'custom',
                'tokenizer' => 'standard',
                'filter' => [
                    'germanStop'
                ]
            ]
        ]
    ]
];

translations.php (Example)

Key Value Description
type STRING field or index
locales ARRAY deDE, enUS, ...
fields ARRAY fields to translation
configPerLocale ARRAY ---
return [
    'type' => 'field',
    'locales' => [
        'enUS'
    ],
    'fields' => [
        'example.properties.title'
    ],
    'configPerLocale' => [
        'example.properties.title' => [
            'enUS' => [
                'analyzer' => 'exampleAnalyzerEn'
            ]
        ]
    ]
];

Reporting Issues

If you do find an issue, please feel free to report it with GitHub's bug tracker for this project.

Alternatively, fork the project and make a pull request. :)

Testing

  1. docker-compose -f docker-compose.yml up
  2. composer test

Contributing

Please see CONTRIBUTING for details.

Credits

Other

Project related links

License

The code for LaravelElasticsearchConfigBuilder is distributed under the terms of the MIT license (see LICENSE).