congraph / entity-elastic
There is no license information available for the latest version (v2.0.3) of this package.
v2.0.3
2026-04-12 09:41 UTC
Requires
- php: ^8.3 || ^8.4 || ^8.5
- congraph/contracts: ^2.0 || dev-main || dev-master
- congraph/core: ^2.0 || dev-main || dev-master
- congraph/eav: ^2.0 || dev-main || dev-master
- congraph/filesystem: ^2.0 || dev-main || dev-master
- congraph/locales: ^2.0 || dev-main || dev-master
- congraph/workflows: ^2.0 || dev-main || dev-master
- guzzlehttp/guzzle: ^7.5
- illuminate/database: ^13.0
- opensearch-project/opensearch-php: ^2.3 || ^3.0
Requires (Dev)
- mockery/mockery: ^1.6.12
- orchestra/testbench: 11.x-dev
- phpunit/phpunit: ^12.0
README
congraph/entity-elastic provides OpenSearch-backed indexing and delivery for Congraph entities.
Responsibilities
- indexing EAV entities into OpenSearch
- delivery queries backed by OpenSearch
- field formatting for searchable documents
- reindex workflows, including
IndexAllCommand
Installation
composer require congraph/entity-elastic
This package depends on:
corecontractsfilesystemlocalesworkflowseav
Laravel package provider:
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
One of the most important workflows is bulk reindexing:
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:
Development
Install dependencies
cd /Users/nikolap/git/np/congraph/packages/entity-elastic
composer update -W
Run tests
composer test
composer test:pgsql
composer test:opensearch
Focused OpenSearch example:
composer test:opensearch -- tests/integration/IndexAllCommandTest.php
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