babenkoivan/elastic-client

The official PHP Elasticsearch client integrated with Laravel

v1.2.0 2021-02-16 07:28 UTC

This package is auto-updated.

Last update: 2021-03-23 17:50:03 UTC


README

Latest Stable Version Total Downloads License Tests Code style Static analysis Donate PayPal

Buy Me A Coffee

The official PHP Elasticsearch client integrated with Laravel.

Contents

Compatibility

The current version of Elastic Client has been tested with the following configuration:

  • PHP 7.2-8.0
  • Elasticsearch 7.x

Installation

The library can be installed via Composer:

composer require babenkoivan/elastic-client

Configuration

To change the client settings you need to publish the configuration file first:

php artisan vendor:publish --provider="ElasticClient\ServiceProvider"

You can use any settings supported by \Elasticsearch\ClientBuilder::fromConfig method in the config/elastic.client.php file as this factory is used under the hood:

return [
    'hosts' => [
        env('ELASTIC_HOST', 'localhost:9200'),
    ]
];

Usage

Type hint \Elasticsearch\Client or use resolve function to retrieve the client instance in your code:

namespace App\Console\Commands;

use Elasticsearch\Client;
use Illuminate\Console\Command;

class CreateIndex extends Command
{
    protected $signature = 'create:index {name}';

    protected $description = 'Creates an index';

    public function handle(Client $client)
    {
        $client->indices()->create([
            'index' => $this->argument('name')
        ]);
    }
}