PHPackages                             bneumann/opensearch-bundle - 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. bneumann/opensearch-bundle

ActiveSymfony-bundle[Database &amp; ORM](/categories/database)

bneumann/opensearch-bundle
==========================

Symfony bundle providing native OpenSearch integration with Doctrine ORM support, index management, and blue/green reindexing.

0.1.0(3mo ago)11MITPHPPHP &gt;=8.1CI passing

Since Mar 24Pushed 3mo agoCompare

[ Source](https://github.com/bneumann97/opensearch-bundle)[ Packagist](https://packagist.org/packages/bneumann/opensearch-bundle)[ Docs](https://github.com/bneumann/opensearch-bundle)[ RSS](/packages/bneumann-opensearch-bundle/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (13)Versions (2)Used By (0)

OpenSearch Bundle
=================

[](#opensearch-bundle)

[![Packagist Version](https://camo.githubusercontent.com/e8f4f11151ea14ba5f5e1da437d2040d4ad5e029864f719feaef39cf299985f3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626e65756d616e6e2f6f70656e7365617263682d62756e646c65)](https://camo.githubusercontent.com/e8f4f11151ea14ba5f5e1da437d2040d4ad5e029864f719feaef39cf299985f3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626e65756d616e6e2f6f70656e7365617263682d62756e646c65)[![Packagist License](https://camo.githubusercontent.com/1ffd849e8178573aacd70cd00f054928384c10f3267405f6022252b1c32c1184/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626e65756d616e6e2f6f70656e7365617263682d62756e646c65)](https://camo.githubusercontent.com/1ffd849e8178573aacd70cd00f054928384c10f3267405f6022252b1c32c1184/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626e65756d616e6e2f6f70656e7365617263682d62756e646c65)[![Symfony Version](https://camo.githubusercontent.com/e93455c8fc6b891e7e0836a426549f35c32f3e38c5fc83c27e617183275a97fb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73796d666f6e792d362e34253230253743253230372e78253230253743253230382e782d626c75652e737667)](https://symfony.com)[![OpenSearch](https://camo.githubusercontent.com/a6e3e0010894c683c15e973c5758adf55206f4762cb9bc6caa2b0f5c968f6492/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f70656e7365617263682d322e782d3030354542382e737667)](https://opensearch.org)

A Symfony bundle providing native OpenSearch integration. Inspired by FOSElasticaBundle, built for OpenSearch from the ground up.

Features
--------

[](#features)

- Multiple OpenSearch client support
- Automatic Doctrine ORM synchronization
- Blue/green reindexing with alias switching
- Configurable object transformation (reflection, Symfony Serializer)
- Repository pattern for search queries
- Index templates
- Event-driven extensibility (7 lifecycle events)
- Console commands for index management

Requirements
------------

[](#requirements)

- PHP 8.1+
- Symfony 6.4 / 7.x / 8.x
- OpenSearch 2.x

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

[](#installation)

```
composer require bneumann/opensearch-bundle
```

Quick Start
-----------

[](#quick-start)

Configure a client and an index:

```
# config/packages/opensearch.yaml
opensearch:
  clients:
    default:
      hosts: ['https://localhost:9200']
      username: '%env(OPENSEARCH_USER)%'
      password: '%env(OPENSEARCH_PASS)%'
      ssl_verification: true
  indexes:
    products:
      index_name: 'products_%kernel.environment%'
      settings:
        number_of_shards: 1
        number_of_replicas: 0
      mappings:
        properties:
          name: { type: 'text' }
          sku: { type: 'keyword' }
      finder:
        hydration: orm
      persistence:
        driver: orm
        model: App\Entity\Product
        provider: true
        listener: true
        identifier: id
```

Create and populate the index:

```
bin/console opensearch:index:create products
bin/console opensearch:index:populate products
```

Search using the finder service:

```
use Bneumann\OpensearchBundle\Finder\FinderInterface;

public function __construct(private FinderInterface $finder) {}

$results = $this->finder->find([
    'query' => [
        'match' => ['name' => 'bike'],
    ],
]);
```

Or use the repository pattern:

```
use Bneumann\OpensearchBundle\Repository\Repository;

final class ProductRepository extends Repository
{
    public function findBySku(string $sku): iterable
    {
        return $this->search([
            'query' => ['term' => ['sku' => $sku]],
        ]);
    }
}
```

Documentation
-------------

[](#documentation)

- [Setup](doc/setup.md)
- [Usage](doc/usage.md)
- [Indexes](doc/indexes.md)
- [Serializer](doc/serializer.md)
- [Templates](doc/templates.md)
- [Commands](doc/commands.md)
- Cookbook
    - [Events](doc/cookbook/events.md)
    - [Aliases and blue/green reindex](doc/cookbook/aliases.md)
    - [Logging](doc/cookbook/logging.md)
    - [Manual providers](doc/cookbook/providers.md)
    - [Queue hooks](doc/cookbook/queues.md)

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

License
-------

[](#license)

This bundle is released under the [MIT License](LICENSE).

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance82

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

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

Unknown

Total

1

Last Release

92d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/45589752?v=4)[Basti](/maintainers/bneumann97)[@bneumann97](https://github.com/bneumann97)

---

Tags

searchsymfonybundleopensearchdoctrineindexing

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bneumann-opensearch-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/bneumann-opensearch-bundle/health.svg)](https://phpackages.com/packages/bneumann-opensearch-bundle)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M517](/packages/shopware-core)

PHPackages © 2026

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