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
===============

Faceted search - Search Extension for TYPO3, including faceting search functions.

v7.0.3(2w ago)15926.5k↓47%48[28 issues](https://github.com/tpwd/ke_search/issues)15GPL-2.0+PHPPHP ^8.2 || ^8.3 || ^8.4 || ^8.5CI passing

Since Oct 2Pushed 2w ago2 watchersCompare

[ Source](https://github.com/tpwd/ke_search)[ Packagist](https://packagist.org/packages/tpwd/ke_search)[ Docs](https://www.kesearch.de/)[ RSS](/packages/tpwd-ke-search/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (29)Versions (129)Used By (15)Security (5)

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

70

—

ExcellentBetter than 100% of packages

Maintenance77

Regular maintenance activity

Popularity51

Moderate usage in the ecosystem

Community38

Small or concentrated contributor base

Maturity98

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 89.8% 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 ~8 days

Total

122

Last Release

15d ago

Major Versions

v5.6.1 → v6.1.32024-12-20

v6.6.0 → v7.0.02025-12-18

v5.6.2 → v6.6.12026-05-18

v6.x-dev → v7.0.12026-05-18

v4.6.7 → v7.0.32026-06-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 (1490 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)")[![s2b](https://avatars.githubusercontent.com/u/458524?v=4)](https://github.com/s2b "s2b (6 commits)")[![jramke](https://avatars.githubusercontent.com/u/81250358?v=4)](https://github.com/jramke "jramke (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)")[![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)")[![stigfaerch](https://avatars.githubusercontent.com/u/6790776?v=4)](https://github.com/stigfaerch "stigfaerch (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.

1493.2M48](/packages/apache-solr-for-typo3-solr)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[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.

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

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

6612.7k2](/packages/mezcalito-ux-search)[alleyinteractive/searchpress

Elasticsearch integration for WordPress.

851.0k1](/packages/alleyinteractive-searchpress)[lochmueller/index

Smart and flexible async indexing of pages and documents for search engines, AI providers, and other external systems.

111.3k3](/packages/lochmueller-index)

PHPackages © 2026

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