A non-blocking ElasticSearch client for PHP based on Amp.

2.0.0 2022-09-30 15:52 UTC

This package is auto-updated.

Last update: 2024-02-29 03:37:45 UTC


webgriffe/amp-elasticsearch is a non-blocking ElasticSearch client for use with the amp concurrency framework.

Build Status

Required PHP Version

  • PHP 7.4
  • PHP 8.0


composer require webgriffe/amp-elasticsearch


Just create a client instance and call its public methods which returns promises:

Loop::run(function () {
  $client = new Webgriffe\AmpElasticsearch\Client('http://my.elasticsearch.test:9200');
  yield $this->client->createIndex('myindex');
  $response = yield $this->client->indexDocument('myindex', '', ['testField' => 'abc']);
  echo $response['result']; // 'created'

See other usage examples in the tests/Integration/ClientTest.php.

All client methods return an array representation of the ElasticSearch REST API responses in case of sucess or an Webgriffe\AmpElasticsearch\Error in case of error.


If you discover any security related issues, please email support@webgriffe.com instead of using the issue tracker.


The MIT License (MIT). Please see LICENSE for more information.