PHPackages                             manugarciaes/easy-search-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. [Search &amp; Filtering](/categories/search)
4. /
5. manugarciaes/easy-search-bundle

ActiveSymfony-bundle[Search &amp; Filtering](/categories/search)

manugarciaes/easy-search-bundle
===============================

Easy way to integration ElasticaBundle in your project with filters, aggregations, ...

0.1(10y ago)017MIT

Since Jun 3Compare

[ Source](https://github.com/manugarciaes/EasySearchBundle)[ Packagist](https://packagist.org/packages/manugarciaes/easy-search-bundle)[ Docs](https://github.com/manugarciaes/SearchBundle)[ RSS](/packages/manugarciaes-easy-search-bundle/feed)WikiDiscussions Synced today

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

SearchBundle for ElasticaBundle
===============================

[](#searchbundle-for-elasticabundle)

1. You need Fos Elastica Bundle installed and configurated
2. Add SearchBundle to your appKernel

    $bundles = array( \[..\] new manugarciaes\\SearchBundle\\SearchBundle(), );
3. Change your Fos Elastica Bundle configuration, using as repository the next one

    persistence: \[..\] repository: manugarciaes\\SearchBundle\\Repository\\SearchRepository
4. Create a new service using the Easy Search Service like next example:

    - elastica\_entity is the fos elastica entity in your configuration
    - search\_string is the fields of your entity where you want to search

        EXAMPLE
        -------

        [](#example)

        article.search: class: SearchBundle\\Services\\SearchService arguments: - "@fos\_elastica.manager.orm" - %elastica\_entity% - \['%search\_string%'\]

**If you want Add Filters**

1. create a new service with Easy Search Filter Object

    ```
     ## FILTER EXAMPLE
     elastic.search.filter.enabled:
       class: SearchBundle\Filter\ObjectFilter
       calls:
             - [setField, ['enabled']]
             - [setValue, [true]]

    ```

If you want a dynamic value you can use for example a service or something like this:

```
   - [setValue, ["@=service('request_stack').getMasterRequest.get('enabled')"]]

```

With this your filter change the value using the request

2. Add this filter to your Search Service

    EXAMPLE
    -------

    [](#example-1)

    article.search: class: SearchBundle\\Services\\SearchService arguments: - "@fos\_elastica.manager.orm" - %elastica\_entity% - \['%search\_string%'\] calls: - \[addFilter, \['@elastic.search.filter.enabled'\]\]

**If you want add Aggregations**

1. Create a new service with Easy Search Aggregation Object

    ```
         ## example
         elastic.search.aggregation.categories:
           class: Elastica\Aggregation\Terms
           arguments:
             - %name%
           calls:
             - [setField, ['%category_field%']]
             - [setSize, [%category_size%]]

    ```
2. Add this aggregation to your Easy Search Service

EXAMPLE
-------

[](#example-2)

```
   article.search:
     class: SearchBundle\Services\SearchService
     arguments:
       - "@fos_elastica.manager.orm"
       - %elastica_entity%
       - ['%search_string%']
     calls:
       - [addAggregation, [@elastic.search.aggregation.categories]]

```

Now you can make a search using this service, example:

```
       $searchService = $this->get('article.search');
       $results = $searchService->search('hello');

```

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

3679d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/522560?v=4)[Manuel García](/maintainers/manugarciaes)[@manugarciaes](https://github.com/manugarciaes)

---

Top Contributors

[![manugarciaes](https://avatars.githubusercontent.com/u/522560?v=4)](https://github.com/manugarciaes "manugarciaes (3 commits)")

---

Tags

searchelasticsearchelasticafoselasticabundleelasticbundle

### Embed Badge

![Health badge](/badges/manugarciaes-easy-search-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/manugarciaes-easy-search-bundle/health.svg)](https://phpackages.com/packages/manugarciaes-easy-search-bundle)
```

###  Alternatives

[elasticsearch/elasticsearch

PHP Client for Elasticsearch

5.3k184.2M1.1k](/packages/elasticsearch-elasticsearch)[jolicode/elastically

Opinionated Elastica based framework to bootstrap PHP and Elasticsearch implementations.

2581.8M1](/packages/jolicode-elastically)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15327.1M103](/packages/opensearch-project-opensearch-php)[jsq/amazon-es-php

Support for using IAM authentication with the official Elasticsearch PHP client

9211.2M13](/packages/jsq-amazon-es-php)[netgen/query-translator

Query Translator is a search query translator with AST representation

2042.0M8](/packages/netgen-query-translator)[cmsig/seal

Search Engine Abstraction Layer

33267.1k109](/packages/cmsig-seal)

PHPackages © 2026

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