PHPackages                             konradmichalik/typo3-solr-dashboard-widgets - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. konradmichalik/typo3-solr-dashboard-widgets

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

konradmichalik/typo3-solr-dashboard-widgets
===========================================

Solr Dashboard Widgets for TYPO3 Backend

0.1.2(1mo ago)012GPL-2.0-or-laterPHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0CI passing

Since Apr 16Pushed 1mo agoCompare

[ Source](https://github.com/konradmichalik/typo3-solr-dashboard-widgets)[ Packagist](https://packagist.org/packages/konradmichalik/typo3-solr-dashboard-widgets)[ RSS](/packages/konradmichalik-typo3-solr-dashboard-widgets/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (9)Versions (9)Used By (0)

[![Extension icon](Resources/Public/Icons/Extension.png)](Resources/Public/Icons/Extension.png)

TYPO3 extension `typo3_solr_dashboard_widgets`
==============================================

[](#typo3-extension-typo3_solr_dashboard_widgets)

[![Latest Stable Version](https://camo.githubusercontent.com/490a338ad11532a22619566adddd227711f823e8fe2333571855f5e42bc9d1be/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f736f6c725f64617368626f6172645f776964676574732f76657273696f6e2f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_solr_dashboard_widgets)[![Supported TYPO3 versions](https://camo.githubusercontent.com/a5f71175b0393c943083ce2d28808dd4d3e58158b4f7aa38437c31a72d03876f/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f736f6c725f64617368626f6172645f776964676574732f7479706f332f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_solr_dashboard_widgets)[![Supported PHP Versions](https://camo.githubusercontent.com/a3a5cb849c84b779a12a44f2b0f8c68e702f225740b9bed5e7287b40f48f804b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574732f7068703f6c6f676f3d706870)](https://packagist.org/packages/konradmichalik/typo3-solr-dashboard-widgets)[![Stability](https://camo.githubusercontent.com/c801a41e24f76b73b196abc33ad3325091a1ef1011ad1b89bc8b3f087708a088/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f736f6c725f64617368626f6172645f776964676574732f73746162696c6974792f736869656c64732e737667)](https://camo.githubusercontent.com/c801a41e24f76b73b196abc33ad3325091a1ef1011ad1b89bc8b3f087708a088/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f736f6c725f64617368626f6172645f776964676574732f73746162696c6974792f736869656c64732e737667)[![Coverage](https://camo.githubusercontent.com/5add56c0ce60c4fdd8bd603c8af92e389df0fe54f4a063520bae63f45e296b35/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c73436f7665726167652f6769746875622f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574733f6c6f676f3d636f766572616c6c73)](https://coveralls.io/github/konradmichalik/typo3-solr-dashboard-widgets)[![CGL](https://camo.githubusercontent.com/9cffae05203aa04c5386772d64d681f3bc26d520a6b50f90595771570222a45a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574732f63676c2e796d6c3f6c6162656c3d63676c266c6f676f3d676974687562)](https://github.com/konradmichalik/typo3-solr-dashboard-widgets/actions/workflows/cgl.yml)[![Tests](https://camo.githubusercontent.com/0f8f404b285e6a820a7a3a8972d80734175329fa445bc8b2a226c1ddc314bbc4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574732f74657374732e796d6c3f6c6162656c3d7465737473266c6f676f3d676974687562)](https://github.com/konradmichalik/typo3-solr-dashboard-widgets/actions/workflows/tests.yml)[![License](https://camo.githubusercontent.com/0d4cc3a87c4c9e8e79e2838d7be477d5d1525b2b9099fb315c348815bde70db1/68747470733a2f2f706f7365722e707567782e6f72672f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574732f6c6963656e7365)](LICENSE.md)

This extension adds a ready-to-use **Solr Overview** dashboard to the TYPO3 backend with a set of widgets that surface the most relevant information about your [EXT:solr](https://extensions.typo3.org/extension/solr) installation at a glance:

[![screenshot.jpg](Documentation/Images/screenshot.jpg)](Documentation/Images/screenshot.jpg)

- **Connection &amp; Health** — live ping status per site/core and JVM/query metrics
- **Indexing** — queue status, errors, last and next scheduler run
- **Search** — volume trend, top queries, queries without results
- **Index content** — document counts per type across all cores
- **Caching** — Solr cache hit rates

Warning

Warning This package is in early development stage and may change significantly in the future. I am working steadily to release a stable version as soon as possible.

Note

Props to the [**Apache Solr for TYPO3**](https://github.com/TYPO3-Solr/ext-solr) team — this extension stands entirely on their shoulders. Everything you see here is just a different lens on the data [EXT:solr](https://extensions.typo3.org/extension/solr) already provides.

🔥 Installation
--------------

[](#-installation)

### Requirements

[](#requirements)

- TYPO3 13.4 or 14.x
- PHP 8.2+
- [EXT:solr](https://extensions.typo3.org/extension/solr) ^13.0 or ^14.0-alpha
- `typo3/cms-dashboard`

### Composer

[](#composer)

[![Packagist](https://camo.githubusercontent.com/f34677e022385d1188b22d147ede870a7c9451507ca575c85b2b92dccb48f299/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574733f6c6162656c3d76657273696f6e266c6f676f3d7061636b6167697374)](https://packagist.org/packages/konradmichalik/typo3-solr-dashboard-widgets)[![Packagist Downloads](https://camo.githubusercontent.com/f1212f2f192fb867c2d5c9bc0c18fda00a642a4c37a6f7d032553d54b6f40ff2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6f6e7261646d696368616c696b2f7479706f332d736f6c722d64617368626f6172642d776964676574733f636f6c6f723d627269676874677265656e)](https://packagist.org/packages/konradmichalik/typo3-solr-dashboard-widgets)

```
composer require konradmichalik/typo3-solr-dashboard-widgets
```

### TER

[](#ter)

[![TER version](https://camo.githubusercontent.com/490a338ad11532a22619566adddd227711f823e8fe2333571855f5e42bc9d1be/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f736f6c725f64617368626f6172645f776964676574732f76657273696f6e2f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_solr_dashboard_widgets)[![TER downloads](https://camo.githubusercontent.com/f0f32b22af325097f573108379a8b33c33c0d3793d3625b6a7920e446316ec41/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f7479706f335f736f6c725f64617368626f6172645f776964676574732f646f776e6c6f6164732f736869656c64732e737667)](https://extensions.typo3.org/extension/typo3_solr_dashboard_widgets)

Download the zip file from [TYPO3 extension repository (TER)](https://extensions.typo3.org/extension/typo3_solr_dashboard_widgets).

### Setup

[](#setup)

```
vendor/bin/typo3 extension:setup --extension=typo3_solr_dashboard_widgets
```

Open **Dashboard** in the TYPO3 backend, click **+** in a tab strip and pick **Solr Overview** from the presets.

🧰 Widgets
---------

[](#-widgets)

All widgets appear in a dedicated **Apache Solr** group in the "Add widget" dialog. Each widget reads data from Solr and/or EXT:solr directly — no persistent state of its own is stored.

IconWidgetSource[![](Resources/Public/Icons/solr-dashboard-widget-status.svg)](Resources/Public/Icons/solr-dashboard-widget-status.svg)[Connection Status](#connection-status)EXT:solr connections[![](Resources/Public/Icons/solr-dashboard-widget-health.svg)](Resources/Public/Icons/solr-dashboard-widget-health.svg)[Solr Health](#solr-health)Solr `/admin/metrics` + `/admin/info/system`[![](Resources/Public/Icons/solr-dashboard-widget-last-run.svg)](Resources/Public/Icons/solr-dashboard-widget-last-run.svg)[Last Indexing Run](#last-indexing-run)`tx_scheduler_task`[![](Resources/Public/Icons/solr-dashboard-widget-queue.svg)](Resources/Public/Icons/solr-dashboard-widget-queue.svg)[Index Queue Status](#index-queue-status)`tx_solr_indexqueue_item`[![](Resources/Public/Icons/solr-dashboard-widget-errors.svg)](Resources/Public/Icons/solr-dashboard-widget-errors.svg)[Index Queue Errors](#index-queue-errors)`tx_solr_indexqueue_item`[![](Resources/Public/Icons/solr-dashboard-widget-index-by-type.svg)](Resources/Public/Icons/solr-dashboard-widget-index-by-type.svg)[Documents in Index by Type](#documents-in-index-by-type)Solr facet API[![](Resources/Public/Icons/solr-dashboard-widget-search-volume.svg)](Resources/Public/Icons/solr-dashboard-widget-search-volume.svg)[Search Volume (last 14 days)](#search-volume-last-14-days)`tx_solr_statistics`[![](Resources/Public/Icons/solr-dashboard-widget-search-words.svg)](Resources/Public/Icons/solr-dashboard-widget-search-words.svg)[Search Terms](#search-terms)`tx_solr_statistics`[![](Resources/Public/Icons/solr-dashboard-widget-cache-hits.svg)](Resources/Public/Icons/solr-dashboard-widget-cache-hits.svg)[Cache Hit Rates](#cache-hit-rates)Solr `/admin/metrics`### [Connection Status](Classes/Widgets/ConnectionStatusWidget.php)

[](#connection-status)

[![Connection Status](Documentation/Images/widget-connection-status.jpg)](Documentation/Images/widget-connection-status.jpg)

One card per configured TYPO3 site, listing every Solr core with a live ping result (`OK` / `offline`). Reaches out to Solr on every dashboard refresh.

### [Solr Health](Classes/Widgets/SolrHealthWidget.php)

[](#solr-health)

[![Solr Health](Documentation/Images/widget-solr-health.jpg)](Documentation/Images/widget-solr-health.jpg)

Combined node-level health check:

- **Solr version** with a link to the upstream project page
- **JVM heap** donut (used / max) with traffic-light color shift at 70 % / 85 %
- **Mean / p95 response time** and **requests per minute** aggregated across all cores

Data is pulled from Solr's `/admin/metrics` and `/admin/info/system` endpoints, cached for the request.

### [Last Indexing Run](Classes/Widgets/LastIndexingRunWidget.php)

[](#last-indexing-run)

[![Last Indexing Run](Documentation/Images/widget-last-indexing-run.jpg)](Documentation/Images/widget-last-indexing-run.jpg)

Shows the most recent execution of any Solr-related scheduler task (e.g. `IndexQueueWorkerTask`) with a human-readable "N minutes ago" and a status badge (OK / warning / error based on age thresholds). Also lists the next scheduled run.

Tip

The footer button navigates to the **Scheduler** module. The widget resolves the correct route identifier for both TYPO3 v13 (`scheduler_manage`) and v14 (`scheduler`) automatically.

### [Index Queue Status](Classes/Widgets/IndexQueueStatusWidget.php)

[](#index-queue-status)

[![Index Queue Status](Documentation/Images/widget-index-queue-status.jpg)](Documentation/Images/widget-index-queue-status.jpg)

Doughnut chart of `tx_solr_indexqueue_item` entries grouped into *Indexed* / *Pending* / *Failed*.

### [Index Queue Errors](Classes/Widgets/IndexQueueErrorsWidget.php)

[](#index-queue-errors)

[![Index Queue Errors](Documentation/Images/widget-index-queue-errors.jpg)](Documentation/Images/widget-index-queue-errors.jpg)

Table of the most recent queue entries with a non-empty `errors` column, including record type, uid, truncated error message (full text on hover), and timestamp.

### [Documents in Index by Type](Classes/Widgets/DocumentsInIndexWidget.php)

[](#documents-in-index-by-type)

[![Documents in Index by Type](Documentation/Images/widget-documents-in-index.jpg)](Documentation/Images/widget-documents-in-index.jpg)

Bar chart of document counts **per `type` field value**, aggregated across all reachable cores via Solr's facet API (`facet.field=type`). Reflects what is actually in the index, not what is waiting in the TYPO3 queue.

### [Search Volume (last 14 days)](Classes/Widgets/SearchVolumeWidget.php)

[](#search-volume-last-14-days)

[![Search Volume](Documentation/Images/widget-search-volume.jpg)](Documentation/Images/widget-search-volume.jpg)

Line chart of daily search volume over the last 14 days, read from `tx_solr_statistics`.

Important

Statistics logging must be enabled in TypoScript for this widget to show data:

```
plugin.tx_solr.statistics = 1

```

### [Search Terms](Classes/Widgets/SearchTermsWidget.php)

[](#search-terms)

[![Search Terms](Documentation/Images/widget-search-terms.jpg)](Documentation/Images/widget-search-terms.jpg)

Two stacked lists: **Top Queries** (top 3 by count) and **Queries Without Results** (top 3). Uses the same `tx_solr_statistics` data source as Search Volume — the same TypoScript flag is required.

The "Top Search Terms" heading carries a compact storage indicator (e.g. `1.2M`) for the underlying `tx_solr_statistics` table. Hover for the exact row count and the timestamp of the oldest entry. The indicator turns yellow once the table exceeds **1M rows** and red beyond **5M rows**, with the tooltip suggesting a scheduler cleanup task — `tx_solr_statistics` grows unbounded with every search and benefits from periodic pruning on busy sites.

### [Cache Hit Rates](Classes/Widgets/CacheHitRatesWidget.php)

[](#cache-hit-rates)

[![Cache Hit Rates](Documentation/Images/widget-cache-hit-rates.jpg)](Documentation/Images/widget-cache-hit-rates.jpg)

Note

The three Solr searcher caches:

- **Filter Cache** — stores results of filter queries (`fq`). A low hit rate often means highly unique or frequently changing filter combinations.
- **Query Result Cache** — caches ordered document-ID lists for query + sort combinations. Drops when users rarely repeat the same search.
- **Document Cache** — caches stored-field lookups by document ID. Low rates indicate many unique documents being fetched (typically fine for diverse indices).

Aggregated hit ratios shown as progress bars. Useful for spotting cache tuning opportunities.

🎯 Dashboard preset
------------------

[](#-dashboard-preset)

The extension ships a **Solr Overview** preset (`solrOverview`) that arranges the eight default widgets in the following order:

*Connection Status · Solr Health · Last Indexing Run · Search Terms · Index Queue Status · Search Volume · Documents in Index · Index Queue Errors*

New dashboards → **+** → **Solr Overview**.

🙌 Credits
---------

[](#-credits)

- [**Apache Solr for TYPO3**](https://github.com/TYPO3-Solr/ext-solr) — every bit of data surfaced by this dashboard (index queue, statistics table, Solr connection objects, scheduler task) originates from the [EXT:solr](https://extensions.typo3.org/extension/solr) team's work.
- [**Apache Solr**](https://solr.apache.org/) — the search platform itself and its admin `/metrics` + `/admin/info/system` endpoints, which power the Solr Health and Cache Hit Rates widgets.

🧑‍💻 Contributing
----------------

[](#‍-contributing)

Please have a look at [`CONTRIBUTING.md`](CONTRIBUTING.md).

⭐ License
---------

[](#-license)

This project is licensed under [GNU General Public License 2.0 (or later)](LICENSE.md).

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance91

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

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

Total

3

Last Release

43d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/11557705846f24da32a0e6e75c460db505c1b847f081ddaa3d27f3ea27f4097b?d=identicon)[konradmichalik](/maintainers/konradmichalik)

---

Top Contributors

[![konradmichalik](https://avatars.githubusercontent.com/u/4558190?v=4)](https://github.com/konradmichalik "konradmichalik (93 commits)")

---

Tags

solrtypo3-extension

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/konradmichalik-typo3-solr-dashboard-widgets/health.svg)

```
[![Health](https://phpackages.com/badges/konradmichalik-typo3-solr-dashboard-widgets/health.svg)](https://phpackages.com/packages/konradmichalik-typo3-solr-dashboard-widgets)
```

###  Alternatives

[friendsoftypo3/content-blocks

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

101466.4k44](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

41515.2k](/packages/wazum-sluggi)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.3M74](/packages/typo3-cms-redirects)[pagemachine/typo3-formlog

Form log for TYPO3

23233.9k7](/packages/pagemachine-typo3-formlog)[fluidtypo3/flux

The flux package from FluidTYPO3

150999.7k24](/packages/fluidtypo3-flux)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1590.6k](/packages/eliashaeussler-typo3-form-consent)

PHPackages © 2026

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