PHPackages                             tpwd/ke\_search - 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. tpwd/ke\_search

ActiveTypo3-cms-extension[Search &amp; Filtering](/categories/search)

tpwd/ke\_search
===============

Search Extension for TYPO3, including faceting search functions.

v7.0.0(5mo ago)17848.9k↓15.7%45[26 issues](https://github.com/tpwd/ke_search/issues)15GPL-2.0+PHPPHP ^8.2 || ^8.3 || ^8.4 || ^8.5CI passing

Since Oct 2Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/tpwd/ke_search)[ Packagist](https://packagist.org/packages/tpwd/ke_search)[ Docs](https://www.typo3-macher.de/en/facetted-search-ke-search/)[ RSS](/packages/tpwd-ke-search/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (9)Versions (122)Used By (15)Security (2)

ke\_search
==========

[](#ke_search)

ke\_search is a search engine for the TYPO3 content management system.

It offers fulltext search and faceting possibilities. Faceting means you can narrow down your search results by selecting certain categories, called facets or filter options.

It is very flexible: By writing your own indexer you can put any content you want into the index.

ke\_search comes with strong defaults and with very little configuration. You can have a powerful search engine in your TYPO3 website, eg. images in the search result list and faceting without templating or coding.

ke\_search does not use frontend crawling but fetches content elements and data records directly from the database. For the most used content types indexers are provided within the extension itself, including pages and news.

If you found a bug or want to ask for a feature, please use [https://github.com/tpwd/ke\_search/issues](https://github.com/tpwd/ke_search/issues)

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

[](#contributing)

Code contributions are welcome.

The recommended way is to fork the project on GitHub and create a pull request.

Please explain what your patch is intended to do either by creating an issue first or by adding an explanation to the pull request.

You can checkout the project locally with

```
git clone git@github.com:tpwd/ke_search.git
```

(adapt the repository URL to your cloned repository)

Then install the dependencies and run the coding-standards command to copy the files .editorconfig and .php-cs-fixer.dist.php to the root directoy of the package.

```
cd ke_search
composer install
composer exec typo3-coding-standards setup
```

### Testing

[](#testing)

#### Manual testing

[](#manual-testing)

To test manually if your code is working, set up a TYPO3 instance for testing and symlink or deploy the directory ke\_search to your TYPO3 test instance to typo3conf/ext/ke\_search. If you deploy the code (e.g. by using PHPStorm "Deployment" feature), you can ignore the .Build directory.

There are also ome helpers available to test your automatically, see below.

#### Unit Tests

[](#unit-tests)

To run the unit tests:

```
composer test:unit
```

#### Functional Tests

[](#functional-tests)

To run the functional tests:

```
composer test:functional
```

#### PHPStan

[](#phpstan)

To check the code with PHPStan

```
composer test:phpstan
```

This will create a file phpstan-report.log which contains the errors.

#### PHP Code Style Fixer

[](#php-code-style-fixer)

To check the code with php-cs-fixer

```
composer test:php-cs-fixer
```

This will create a file php-cs-fixer-report.log which contains the errors.

To fix the code styling according to the TYPO3 coding guidelines automatically run

```
.Build/bin/php-cs-fixer fix
```

Automated tests in GitHub Actions
---------------------------------

[](#automated-tests-in-github-actions)

The automated tests are automatically executed after a push or a merge request by GitHub Actions.

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

[](#documentation)

You can render a local version of the documentation by running

```
composer docs:generate
```

This will create a directory Documentation-GENERATED-temp which contains the documentation in HTML format.

###  Health Score

63

—

FairBetter than 99% of packages

Maintenance53

Moderate activity, may be stable

Popularity51

Moderate usage in the ecosystem

Community37

Small or concentrated contributor base

Maturity98

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 89.7% 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 ~32 days

Recently: every ~57 days

Total

116

Last Release

152d ago

Major Versions

v5.5.2 → v6.0.02024-10-18

v5.5.3 → v6.1.02024-11-08

v5.6.0 → v6.1.12024-11-08

v5.6.1 → v6.1.32024-12-20

v6.x-dev → v7.0.02025-12-18

PHP version history (4 changes)v2.3.0PHP &gt;=5.5.0

v4.4.1PHP ^7.4 || ^8.0

v6.0.0PHP ^8.1

v7.0.0PHP ^8.2 || ^8.3 || ^8.4 || ^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/2e5c05e934ffffc495ad30e1a59b865c3b102791624f480159434be248b4e42a?d=identicon)[tpwd](/maintainers/tpwd)

---

Top Contributors

[![christianbltr](https://avatars.githubusercontent.com/u/11410553?v=4)](https://github.com/christianbltr "christianbltr (1462 commits)")[![brotkrueml](https://avatars.githubusercontent.com/u/2566282?v=4)](https://github.com/brotkrueml "brotkrueml (42 commits)")[![ste101](https://avatars.githubusercontent.com/u/359959?v=4)](https://github.com/ste101 "ste101 (22 commits)")[![mikestreety](https://avatars.githubusercontent.com/u/354085?v=4)](https://github.com/mikestreety "mikestreety (13 commits)")[![liayn](https://avatars.githubusercontent.com/u/222377?v=4)](https://github.com/liayn "liayn (11 commits)")[![a-r-m-i-n](https://avatars.githubusercontent.com/u/1275298?v=4)](https://github.com/a-r-m-i-n "a-r-m-i-n (10 commits)")[![mavolkmer](https://avatars.githubusercontent.com/u/9119282?v=4)](https://github.com/mavolkmer "mavolkmer (7 commits)")[![jramke](https://avatars.githubusercontent.com/u/81250358?v=4)](https://github.com/jramke "jramke (6 commits)")[![s2b](https://avatars.githubusercontent.com/u/458524?v=4)](https://github.com/s2b "s2b (6 commits)")[![velletti](https://avatars.githubusercontent.com/u/912094?v=4)](https://github.com/velletti "velletti (5 commits)")[![cepheiVV](https://avatars.githubusercontent.com/u/2963482?v=4)](https://github.com/cepheiVV "cepheiVV (5 commits)")[![ruudsilvrants](https://avatars.githubusercontent.com/u/9974197?v=4)](https://github.com/ruudsilvrants "ruudsilvrants (4 commits)")[![stigfaerch](https://avatars.githubusercontent.com/u/6790776?v=4)](https://github.com/stigfaerch "stigfaerch (3 commits)")[![mrvoss](https://avatars.githubusercontent.com/u/5639881?v=4)](https://github.com/mrvoss "mrvoss (3 commits)")[![teaminmedias-pluswerk](https://avatars.githubusercontent.com/u/13333401?v=4)](https://github.com/teaminmedias-pluswerk "teaminmedias-pluswerk (3 commits)")[![Zillion01](https://avatars.githubusercontent.com/u/1055822?v=4)](https://github.com/Zillion01 "Zillion01 (2 commits)")[![bnf](https://avatars.githubusercontent.com/u/473155?v=4)](https://github.com/bnf "bnf (2 commits)")[![freshworkx](https://avatars.githubusercontent.com/u/12698815?v=4)](https://github.com/freshworkx "freshworkx (2 commits)")[![hotbytes-dev](https://avatars.githubusercontent.com/u/145031414?v=4)](https://github.com/hotbytes-dev "hotbytes-dev (2 commits)")[![igaumann](https://avatars.githubusercontent.com/u/5435387?v=4)](https://github.com/igaumann "igaumann (2 commits)")

---

Tags

searchTYPO3 CMSfacetingke\_searchkesearchfaceted search

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tpwd-ke-search/health.svg)

```
[![Health](https://phpackages.com/badges/tpwd-ke-search/health.svg)](https://phpackages.com/packages/tpwd-ke-search)
```

###  Alternatives

[apache-solr-for-typo3/solr

Apache Solr for TYPO3 - Apache Solr for TYPO3 is the enterprise search server you were looking for with special features such as Faceted Search or Synonym Support and incredibly fast response times of results within milliseconds.

1473.0M32](/packages/apache-solr-for-typo3-solr)[mezcalito/ux-search

Effortless search and faceted search with Symfony UX and Mezcalito UX Search

6611.1k](/packages/mezcalito-ux-search)[dmk/mksearch

Generic highly adjustable and extendable search engine framework, using Zend Lucene, Apache Solr or ElasticSearch. But support for other search engines can be provided easily.

1330.6k](/packages/dmk-mksearch)[subugoe/find

A frontend for Solr indexes

164.1k1](/packages/subugoe-find)

PHPackages © 2026

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