PHPackages                             typo3/typo3cr-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. typo3/typo3cr-search

Abandoned → [neos/content-repository-search](/?search=neos%2Fcontent-repository-search)Neos-package[Search &amp; Filtering](/categories/search)

typo3/typo3cr-search
====================

Common code and interface for a Neos CR search implementation

5.0.4(10mo ago)1132.7k24[1 issues](https://github.com/neos/content-repository-search/issues)[2 PRs](https://github.com/neos/content-repository-search/pulls)PHPPHP &gt;=8.2

Since Aug 14Pushed 10mo ago8 watchersCompare

[ Source](https://github.com/neos/content-repository-search)[ Packagist](https://packagist.org/packages/typo3/typo3cr-search)[ Fund](https://shop.neos.io/neosfunding/)[ RSS](/packages/typo3-typo3cr-search/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (37)Used By (0)

Neos.ContentRepository.Search
=============================

[](#neoscontentrepositorysearch)

[![Build Status](https://camo.githubusercontent.com/c931280d30d2193bc5b76c9d1eadf40c88dc37f5c1e33d0bee4fecf939733f00/68747470733a2f2f7472617669732d63692e636f6d2f6e656f732f636f6e74656e742d7265706f7369746f72792d7365617263682e737667)](https://travis-ci.com/neos/content-repository-search) [![Latest Stable Version](https://camo.githubusercontent.com/0c693e109445b10212f4f74ad1b19fc9074096c7e62617162fb5d3c27ce9d37b/68747470733a2f2f706f7365722e707567782e6f72672f6e656f732f636f6e74656e742d7265706f7369746f72792d7365617263682f762f737461626c65)](https://packagist.org/packages/neos/content-repository-search) [![Total Downloads](https://camo.githubusercontent.com/fbfc035e47a8c1393206cf9e803c8befc984f669317d03e42c2fbede181b8fc4/68747470733a2f2f706f7365722e707567782e6f72672f6e656f732f636f6e74656e742d7265706f7369746f72792d7365617263682f646f776e6c6f616473)](https://packagist.org/packages/neos/content-repository-search)

A Neos Content Repository search common package used to implement concrete indexing and search functionality.

Related packages
----------------

[](#related-packages)

Some of the related packages are:

### [Flowpack.ElasticSearch.ContentRepositoryAdaptor](https://github.com/Flowpack/Flowpack.ElasticSearch.ContentRepositoryAdaptor/)

[](#flowpackelasticsearchcontentrepositoryadaptor)

To use Elasticsearch for indexing and searching.

### [Flowpack.SimpleSearch.ContentRepositoryAdaptor](https://github.com/Flowpack/Flowpack.SimpleSearch.ContentRepositoryAdaptor.git)

[](#flowpacksimplesearchcontentrepositoryadaptor)

Uses a SQLite database for indexing and search and thus can be used without additional dependencies.

### [Flowpack.SearchPlugin](https://github.com/Flowpack/Flowpack.SearchPlugin.git)

[](#flowpacksearchplugin)

A plugin to offer search functionality to users via Fusion rendering.

Realtime Indexing (experimental)
--------------------------------

[](#realtime-indexing-experimental)

Realtime indexing in Neos.ContentRepository.Search &gt;= 5.0 (compatible with Neos 9) has SEVERE PERFORMANCE PENALTYS when publishing workspaces. We suggest that you do batch indexing in the background instead.

To resolve backreferences (a very common Elasticsearch Use Case for Neos &lt; 9), please now directly use the backReferences() FlowQuery operation available in Neos 9.

If you still want to enable this, add the following to the Settings.yaml (but you have been warned).

```
# Settings.yaml

Neos:
  ContentRepositoryRegistry:
    presets:
      'default':
        contentGraphProjection:
          catchUpHooks:
            'Neos.ContentRepository.Search:RealtimeIndex':
              factoryObjectName: \Neos\ContentRepository\Search\CatchUpHook\RealTimeIndexCatchUpHookFactory
```

Inner workings
--------------

[](#inner-workings)

The NodeIndexingManager listens to signals emitted from Neos Content Repository and the PersistenceManager if `realtimeIndexing.enabled` is `true` (which it defaults to).

- `nodeAdded`, `nodeUpdated`, `afterNodePublishing` trigger `indexNode()`
- `nodeRemoved` triggers `removeNode()`
- `allObjectsPersisted` triggers `flushQueues`

During a single request the queue with index changes is only flushed once the `indexingBatchSize`has been reached (see `flushQueuesIfNeeded()`).

In case the operation queues are flushed, the `IndexingManager` in turn uses the `NodeIndexer`to run `indexNode()` and `removeNode()` respectively.

If `realtimeIndexing.enabled` is `false`, the node index is only updated when built manually.

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance51

Moderate activity, may be stable

Popularity35

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~116 days

Recently: every ~6 days

Total

35

Last Release

325d ago

Major Versions

2.0.x-dev → 3.0.02017-02-08

3.0.7 → 4.0.02020-05-31

3.0.x-dev → 4.1.02020-12-16

4.1.3 → 5.0.02025-04-02

4.1.4 → 5.0.22025-05-28

PHP version history (3 changes)4.0.0PHP &gt;=7.2

4.1.0PHP &gt;=7.3

5.0.0PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11575267?v=4)[Neos](/maintainers/neos)[@neos](https://github.com/neos)

---

Top Contributors

[![gerhard-boden](https://avatars.githubusercontent.com/u/10533739?v=4)](https://github.com/gerhard-boden "gerhard-boden (62 commits)")[![daniellienert](https://avatars.githubusercontent.com/u/642226?v=4)](https://github.com/daniellienert "daniellienert (47 commits)")[![kdambekalns](https://avatars.githubusercontent.com/u/95873?v=4)](https://github.com/kdambekalns "kdambekalns (27 commits)")[![skurfuerst](https://avatars.githubusercontent.com/u/190777?v=4)](https://github.com/skurfuerst "skurfuerst (15 commits)")[![johannessteu](https://avatars.githubusercontent.com/u/769789?v=4)](https://github.com/johannessteu "johannessteu (15 commits)")[![dlubitz](https://avatars.githubusercontent.com/u/13046100?v=4)](https://github.com/dlubitz "dlubitz (13 commits)")[![dfeyer](https://avatars.githubusercontent.com/u/221173?v=4)](https://github.com/dfeyer "dfeyer (7 commits)")[![radmiraal](https://avatars.githubusercontent.com/u/324613?v=4)](https://github.com/radmiraal "radmiraal (6 commits)")[![markusguenther](https://avatars.githubusercontent.com/u/1014126?v=4)](https://github.com/markusguenther "markusguenther (3 commits)")[![kitsunet](https://avatars.githubusercontent.com/u/324408?v=4)](https://github.com/kitsunet "kitsunet (2 commits)")[![aertmann](https://avatars.githubusercontent.com/u/903567?v=4)](https://github.com/aertmann "aertmann (2 commits)")[![mficzel](https://avatars.githubusercontent.com/u/1309380?v=4)](https://github.com/mficzel "mficzel (1 commits)")[![lorenzulrich](https://avatars.githubusercontent.com/u/1816023?v=4)](https://github.com/lorenzulrich "lorenzulrich (1 commits)")[![ComiR](https://avatars.githubusercontent.com/u/11410095?v=4)](https://github.com/ComiR "ComiR (1 commits)")[![neos-project](https://avatars.githubusercontent.com/u/13873842?v=4)](https://github.com/neos-project "neos-project (1 commits)")

---

Tags

hacktoberfestneoscms

### Embed Badge

![Health badge](/badges/typo3-typo3cr-search/health.svg)

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

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M203](/packages/ruflin-elastica)[neos/neos

An open source Content Application Platform based on Flow. A set of core Content Management features is resting within a larger context that allows you to build a perfectly customized experience for your users.

116989.0k674](/packages/neos-neos)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15024.3M65](/packages/opensearch-project-opensearch-php)[flowpack/elasticsearch-contentrepositoryadaptor

This package provides functionality for using Elasticsearch on top of Neos.ContentRepository.Search

43385.8k8](/packages/flowpack-elasticsearch-contentrepositoryadaptor)[flowpack/searchplugin

Plugin for search integration via content node

24257.5k1](/packages/flowpack-searchplugin)[neos/content-repository-search

Common code and interface for a Neos CR search implementation

10413.3k4](/packages/neos-content-repository-search)

PHPackages © 2026

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