PHPackages                             webgriffe/amp-elasticsearch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. webgriffe/amp-elasticsearch

ActiveLibrary[Search &amp; Filtering](/categories/search)

webgriffe/amp-elasticsearch
===========================

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

2.4.0(3mo ago)55.7k4[2 PRs](https://github.com/webgriffe/amp-elasticsearch/pulls)1MITPHPPHP ~7.4.0|~8.0.0|~8.1.0|~8.2.0|~8.3.0|~8.4.0|~8.5.0CI failing

Since May 18Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/webgriffe/amp-elasticsearch)[ Packagist](https://packagist.org/packages/webgriffe/amp-elasticsearch)[ RSS](/packages/webgriffe-amp-elasticsearch/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (4)Versions (13)Used By (1)

Amp ElasticSearch Client
========================

[](#amp-elasticsearch-client)

`webgriffe/amp-elasticsearch` is a non-blocking ElasticSearch client for use with the [`amp`](https://github.com/amphp/amp)concurrency framework.

[![Build](https://github.com/webgriffe/amp-elasticsearch/actions/workflows/build.yml/badge.svg)](https://github.com/webgriffe/amp-elasticsearch/actions/workflows/build.yml)

**Required PHP Version**

- PHP 7.4
- PHP 8.0
- PHP 8.1
- PHP 8.2
- PHP 8.3
- PHP 8.4
- PHP 8.5

**Installation**

```
composer require webgriffe/amp-elasticsearch
```

**Usage**

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`](./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.

Security
--------

[](#security)

If you discover any security related issues, please email [`support@webgriffe.com`](mailto:support@webgriffe.com) instead of using the issue tracker.

License
-------

[](#license)

The MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information.

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance79

Regular maintenance activity

Popularity30

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 85.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~231 days

Recently: every ~303 days

Total

10

Last Release

112d ago

Major Versions

v1.4.0 → 2.0.02022-09-30

PHP version history (6 changes)v1.0.0PHP ~7.1.0|~7.2.0|~7.3.0

v1.3.0PHP ~7.1.0|~7.2.0|~7.3.0|~7.4.0

v1.4.0PHP ~7.4.0|~8.0.0

2.1.0PHP ~7.4.0|~8.0.0|~8.1.0|~8.2.0|~8.3.0

2.3.0PHP ~7.4.0|~8.0.0|~8.1.0|~8.2.0|~8.3.0|~8.4.0

2.4.0PHP ~7.4.0|~8.0.0|~8.1.0|~8.2.0|~8.3.0|~8.4.0|~8.5.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/eca104631fd7f6aff6d399ca16458c4d9814770756af0ecca22ffe2b1c5704d3?d=identicon)[mmenozzi](/maintainers/mmenozzi)

---

Top Contributors

[![mmenozzi](https://avatars.githubusercontent.com/u/1199914?v=4)](https://github.com/mmenozzi "mmenozzi (53 commits)")[![youwe-petervanderwal](https://avatars.githubusercontent.com/u/60703382?v=4)](https://github.com/youwe-petervanderwal "youwe-petervanderwal (3 commits)")[![azambon](https://avatars.githubusercontent.com/u/2920227?v=4)](https://github.com/azambon "azambon (2 commits)")[![fabianaromagnoli](https://avatars.githubusercontent.com/u/23638004?v=4)](https://github.com/fabianaromagnoli "fabianaromagnoli (2 commits)")[![lruozzi9](https://avatars.githubusercontent.com/u/26346480?v=4)](https://github.com/lruozzi9 "lruozzi9 (1 commits)")[![PNixx](https://avatars.githubusercontent.com/u/1117351?v=4)](https://github.com/PNixx "PNixx (1 commits)")

---

Tags

amphpelasticsearchphp

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webgriffe-amp-elasticsearch/health.svg)

```
[![Health](https://phpackages.com/badges/webgriffe-amp-elasticsearch/health.svg)](https://phpackages.com/packages/webgriffe-amp-elasticsearch)
```

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M203](/packages/ruflin-elastica)[danog/madelineproto

Async PHP client API for the telegram MTProto protocol.

3.4k855.0k18](/packages/danog-madelineproto)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15224.3M65](/packages/opensearch-project-opensearch-php)[mailerlite/laravel-elasticsearch

An easy way to use the official PHP ElasticSearch client in your Laravel applications.

934529.3k2](/packages/mailerlite-laravel-elasticsearch)[massive/search-bundle

Massive Search Bundle

721.4M13](/packages/massive-search-bundle)[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45802.7k3](/packages/outl1ne-nova-multiselect-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
