PHPackages                             hopeter1018/doctrine-full-text-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. [Database &amp; ORM](/categories/database)
4. /
5. hopeter1018/doctrine-full-text-search-bundle

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

hopeter1018/doctrine-full-text-search-bundle
============================================

This bundle add doctrine full text search

1.0.3(5y ago)0110MITPHP

Since Jul 30Pushed 5y ago1 watchersCompare

[ Source](https://github.com/hopeter1018/doctrine-full-text-search-bundle)[ Packagist](https://packagist.org/packages/hopeter1018/doctrine-full-text-search-bundle)[ RSS](/packages/hopeter1018-doctrine-full-text-search-bundle/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (6)Used By (0)

doctrine-full-text-search-bundle
================================

[](#doctrine-full-text-search-bundle)

Introduction
------------

[](#introduction)

This bundle aims to enable doctrine full text search. I understand there are better options such as elasticsearch.

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

[](#installation)

### Require the package

[](#require-the-package)

`composer require hopeter1018/doctrine-full-text-search-bundle`

### Add to kernel

[](#add-to-kernel)

#### Symfony 4+ or Symfony Flex

[](#symfony-4-or-symfony-flex)

Add `/config/bundles.php`

```
return [
  ...,
  HoPeter1018\DoctrineFullTextSearchBundle\HoPeter1018DoctrineFullTextSearchBundle::class => ['all' => true],
];
```

#### Symfony 2+

[](#symfony-2)

Add `/app/AppKernel.php`

```
$bundles = [
  ...,
  new HoPeter1018\DoctrineFullTextSearchBundle\HoPeter1018DoctrineFullTextSearchBundle(),
];
```

### Add to doctrine config

[](#add-to-doctrine-config)

```
doctrine:
  orm:
    entity_managers:
      mappings:
        HoPeter1018DoctrineFullTextSearchBundle: ~
```

### Config

[](#config)

```
hopeter1018_doctrine_full_text_search:
  # No config yet
```

### Usage

[](#usage)

#### Entity

[](#entity)

```
namespace App\Entity;

use HoPeter1018\DoctrineFullTextSearchBundle\Annotation as Fts;
use HoPeter1018\DoctrineFullTextSearchBundle\Formatter\DateTimeFormatter;

/**
 * @Fts\Entity(
 *     columns={
 *         "__property_name_1__": @Fts\Column,
 *         "__property_name_2__": @Fts\Column(formatter=DateTimeFormatter::class),
 *     },
 *     columnGroups={
 *         "__group_name_1__": @Fts\ColumnGroup(columns={
 *             "__property_name_1__": @Fts\Column,
 *             "__property_name_2__": @Fts\Column,
 *         })
 *     }
 * )
 */
class TheEntity
{
    /**
     * @Fts\Column
     * @ORM\Column(type="string", length=255)
     */
    private $propertyName1;

    /**
     * @Fts\Column
     */
    public function methodName1()
    {
        return 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';
    }
}
```

#### Use thru Repository

[](#use-thru-repository)

```
use HoPeter1018\DoctrineFullTextSearchBundle\Entity\FullTextSearchIndex;

$fullTextSearchIndexRepo = $em->getRepository(FullTextSearchIndex::class);

$ids = $fullTextSearchIndexRepo->search('~~ The search keywords ~~', TheEntity::class, ['__name-property/group/method__']);

$repo = $em->getRepository(TheEntity::class);
$list = $repo->findBy(['id' => $ids]);
```

TODO
----

[](#todo)

- Add mode to have FTS index per table
- Entity
    - `Trait` for **PERENTITY** mode
- Repository
    - `Trait` for search
- Enhance Annotation
    - Add more property
- Add Command to
    - ReIndex
    - Search
- Add helpers to
    - SonataAdmin
    - ApiPlatform
- Check against different id type

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

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

Every ~2 days

Total

4

Last Release

2106d ago

### Community

Maintainers

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

---

Top Contributors

[![hopeter1018](https://avatars.githubusercontent.com/u/6047177?v=4)](https://github.com/hopeter1018 "hopeter1018 (6 commits)")

---

Tags

symfonybundledoctrinesonata-adminfull text searchftsapi-platform

### Embed Badge

![Health badge](/badges/hopeter1018-doctrine-full-text-search-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/hopeter1018-doctrine-full-text-search-bundle/health.svg)](https://phpackages.com/packages/hopeter1018-doctrine-full-text-search-bundle)
```

###  Alternatives

[sonata-project/doctrine-orm-admin-bundle

Integrate Doctrine ORM into the SonataAdminBundle

46117.7M155](/packages/sonata-project-doctrine-orm-admin-bundle)[omines/datatables-bundle

Symfony DataTables Bundle with native Doctrine ORM, Elastica and MongoDB support

2851.4M6](/packages/omines-datatables-bundle)[spiriitlabs/form-filter-bundle

This bundle aim to provide classes to build some form filters and then build a doctrine query from this form filter.

36465.8k8](/packages/spiriitlabs-form-filter-bundle)[prezent/doctrine-translatable-bundle

Integrate the doctrine-translatable extension in Symfony

14698.4k5](/packages/prezent-doctrine-translatable-bundle)[farmatholin/segment-io-bundle

Segment.io php lib

11257.4k](/packages/farmatholin-segment-io-bundle)

PHPackages © 2026

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