finding: Core Search overlaps with core/php-admin search subsystem #5

Open
opened 2026-02-21 00:16:24 +00:00 by Clotho · 0 comments
Member

Overlap

src/Core/Search/ (L1 package) provides a site-wide unified search engine:

  • Unified class – multi-source search aggregator
  • SearchAnalytics – query analytics tracking
  • SearchSuggestions – autocomplete suggestions

core/php-admin (host-uk/core-admin) has its own parallel search subsystem at src/Search/:

  • SearchProviderRegistry – registry of admin page search providers
  • SearchResult – DTO for admin search results
  • SearchProvider contract – interface for admin search sources
  • AdminPageSearchProvider – built-in admin page search

What Differs

Core\Search core/php-admin Search
Scope Site-wide fulltext search Admin panel page/nav search
Analytics Yes (SearchAnalytics) No
Provider pattern No Yes (SearchProviderRegistry)
Suggestions Yes No

Risk

Two separate search registries could diverge in approach. Admin modules must register with core/php-admin’s SearchProviderRegistry, not Core\Search\Unified, creating parallel APIs.

Recommendation

Keep separate but consider bridging. Admin search (nav/page) is a fundamentally different UX from site-wide fulltext search. However, document the boundary clearly, and consider whether core/php-admin’s SearchProviderRegistry should register as a provider in Core\Search\Unified to enable cross-context search.

Closes #3

## Overlap `src/Core/Search/` (L1 package) provides a site-wide unified search engine: - `Unified` class – multi-source search aggregator - `SearchAnalytics` – query analytics tracking - `SearchSuggestions` – autocomplete suggestions `core/php-admin` (`host-uk/core-admin`) has its own parallel search subsystem at `src/Search/`: - `SearchProviderRegistry` – registry of admin page search providers - `SearchResult` – DTO for admin search results - `SearchProvider` contract – interface for admin search sources - `AdminPageSearchProvider` – built-in admin page search ## What Differs | | `Core\Search` | `core/php-admin` Search | |---|---|---| | Scope | Site-wide fulltext search | Admin panel page/nav search | | Analytics | Yes (SearchAnalytics) | No | | Provider pattern | No | Yes (SearchProviderRegistry) | | Suggestions | Yes | No | ## Risk Two separate search registries could diverge in approach. Admin modules must register with `core/php-admin`’s `SearchProviderRegistry`, not `Core\Search\Unified`, creating parallel APIs. ## Recommendation **Keep separate but consider bridging.** Admin search (nav/page) is a fundamentally different UX from site-wide fulltext search. However, document the boundary clearly, and consider whether `core/php-admin`’s `SearchProviderRegistry` should register as a provider in `Core\Search\Unified` to enable cross-context search. Closes #3
Clotho added the
review
discovery
labels 2026-02-21 00:16:24 +00:00
Charon added the
agent-ready
label 2026-02-21 01:31:46 +00:00
Sign in to join this conversation.
No description provided.