PHPackages                             neos/content-repository-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. neos/content-repository-search

ActiveNeos-package[Search &amp; Filtering](/categories/search)

neos/content-repository-search
==============================

Common code and interface for a Neos CR search implementation

5.0.4(1y ago)10429.8k↓52.3%25[3 issues](https://github.com/neos/content-repository-search/issues)[4 PRs](https://github.com/neos/content-repository-search/pulls)4PHPPHP &gt;=8.2

Since Aug 14Pushed 1y ago8 watchersCompare

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

READMEChangelog (10)Dependencies (3)Versions (36)Used By (4)

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

55

—

FairBetter than 97% of packages

Maintenance43

Moderate activity, may be stable

Popularity46

Moderate usage in the ecosystem

Community32

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

377d 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/neos-content-repository-search/health.svg)

```
[![Health](https://phpackages.com/badges/neos-content-repository-search/health.svg)](https://phpackages.com/packages/neos-content-repository-search)
```

###  Alternatives

[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.

1151.0M777](/packages/neos-neos)[flowpack/elasticsearch-contentrepositoryadaptor

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

42398.4k10](/packages/flowpack-elasticsearch-contentrepositoryadaptor)[flowpack/searchplugin

Plugin for search integration via content node

24266.4k1](/packages/flowpack-searchplugin)[flowpack/simplesearch-contentrepositoryadaptor

Implements a bridge to search in Neos CR via the flowpack/simplesearch package.

2232.1k](/packages/flowpack-simplesearch-contentrepositoryadaptor)[flowpack/elasticsearch

This package provides wrapper functionality for the Elasticsearch engine.

34503.8k5](/packages/flowpack-elasticsearch)[neos/media

The Media package

101.2M53](/packages/neos-media)

PHPackages © 2026

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