PHPackages                             congraph/entity-elastic - 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. [Database &amp; ORM](/categories/database)
4. /
5. congraph/entity-elastic

ActiveLibrary[Database &amp; ORM](/categories/database)

congraph/entity-elastic
=======================

v2.0.3(4mo ago)01451PHPPHP ^8.3 || ^8.4 || ^8.5

Since Aug 30Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/congraphcms/entity-elastic)[ Packagist](https://packagist.org/packages/congraph/entity-elastic)[ RSS](/packages/congraph-entity-elastic/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (8)Dependencies (24)Versions (17)Used By (1)

congraph/entity-elastic
=======================

[](#congraphentity-elastic)

`congraph/entity-elastic` provides OpenSearch-backed indexing and delivery for Congraph entities.

Responsibilities
----------------

[](#responsibilities)

- indexing EAV entities into OpenSearch
- delivery queries backed by OpenSearch
- field formatting for searchable documents
- reindex workflows, including `IndexAllCommand`

Installation
------------

[](#installation)

```
composer require congraph/entity-elastic
```

This package depends on:

- `core`
- `contracts`
- `filesystem`
- `locales`
- `workflows`
- `eav`

Laravel package provider:

- [EntityElasticServiceProvider.php](/Users/nikolap/git/np/congraph/packages/entity-elastic/EntityElasticServiceProvider.php)

OpenSearch
----------

[](#opensearch)

This package is now aligned on OpenSearch rather than legacy Elasticsearch naming.

Recommended environment:

```
OPENSEARCH_HOSTS=127.0.0.1:9200
```

The monorepo local helper uses OpenSearch `3.5.0`.

Indexing
--------

[](#indexing)

One of the most important workflows is bulk reindexing:

- [IndexAllCommand.php](/Users/nikolap/git/np/congraph/packages/entity-elastic/Console/Commands/IndexAllCommand.php)

This command now has dedicated integration coverage for:

- multi-batch indexing
- node references created later than the source entity
- node collection references created later than the source entity

See:

- [IndexAllCommandTest.php](/Users/nikolap/git/np/congraph/packages/entity-elastic/tests/integration/IndexAllCommandTest.php)

Development
-----------

[](#development)

### Install dependencies

[](#install-dependencies)

```
cd /Users/nikolap/git/np/congraph/packages/entity-elastic
composer update -W
```

### Run tests

[](#run-tests)

```
composer test
composer test:pgsql
composer test:opensearch
```

Focused OpenSearch example:

```
composer test:opensearch -- tests/integration/IndexAllCommandTest.php
```

Contribution notes
------------------

[](#contribution-notes)

- any delivery/indexing change should be verified with `composer test:opensearch`
- prefer OpenSearch-compatible request bodies and mappings
- do not assume MySQL-shaped source data when formatting indexed entities
- when changing bulk indexing or relation formatting, extend integration coverage

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance77

Regular maintenance activity

Popularity10

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity89

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 88.9% 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 ~214 days

Recently: every ~120 days

Total

14

Last Release

125d ago

Major Versions

v1.1.0 → v2.0.02026-04-11

PHP version history (4 changes)v1.0betaPHP &gt;=5.4.0

v1.0.0PHP ^8.1

v1.1.0PHP ^8.2

v2.0.0PHP ^8.3 || ^8.4 || ^8.5

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3585404?v=4)[Nikola Plavšić](/maintainers/nikolaplavsic)[@nikolaplavsic](https://github.com/nikolaplavsic)

---

Top Contributors

[![nikolaplavsic](https://avatars.githubusercontent.com/u/3585404?v=4)](https://github.com/nikolaplavsic "nikolaplavsic (8 commits)")[![veljamatic](https://avatars.githubusercontent.com/u/1091355?v=4)](https://github.com/veljamatic "veljamatic (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/congraph-entity-elastic/health.svg)

```
[![Health](https://phpackages.com/badges/congraph-entity-elastic/health.svg)](https://phpackages.com/packages/congraph-entity-elastic)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.8k2.5k](/packages/unopim-unopim)[spatie/laravel-health

Monitor the health of a Laravel application

88212.7M185](/packages/spatie-laravel-health)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

353.6k](/packages/eslazarev-wildberries-sdk)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5226.7k](/packages/simplestats-io-laravel-client)[flat3/lodata

OData v4.01 Producer for Laravel

100357.6k](/packages/flat3-lodata)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1239.7k25](/packages/fleetbase-core-api)

PHPackages © 2026

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