Backstage Search
Treat Backstage Search as an extensible indexing and presentation framework whose engine, collators, and frontend result extensions are independently configurable.
When to invoke
- "Install Backstage Search."
- "Index Catalog, TechDocs, or custom plugin content."
- "Add a collator, filter, or result component."
- "Diagnose stale or missing search results."
Procedure
- Confirm Backstage version, frontend mode, database, search engine, deployment topology, and indexed document types.
- Install or verify
@backstage/plugin-search,@backstage/plugin-search-react,@backstage/plugin-search-backend, the selected engine module, and collator modules. - Register the backend, engine, and Catalog or TechDocs collators.
- Use frontend feature discovery or explicit modules for result items and filters.
- Choose Lunr only for suitable in-memory scenarios; use an external or database-backed engine when persistence, scale, or multiple nodes require it.
- Configure collator schedules with bounded frequency, timeout, initial delay, and distributed execution semantics.
- Build custom collators with stable document types, location, authorization metadata, and incremental or batch behavior appropriate to the source.
- Add result components and filters that match the indexed document contract.
- Validate indexing logs, document counts, freshness, permissions, result rendering, and query behavior.
- Diagnose engine, scheduler, collator, permission, or presentation layers separately.
Output template
## Backstage Search result
| Document type | Collator | Engine | Schedule | Result extension | Status |
| --- | --- | --- | --- | --- | --- |
### Query validation
- Query:
- Expected:
- Actual:
Quality gate
- Engine choice matches persistence, scale, and replica topology.
- Collator schedules are bounded and non-overlapping.
- Document types and frontend result extensions agree.
- Catalog, TechDocs, and custom collators expose intended content only.
- Permission-aware documents do not leak restricted content.
- Freshness, query, filter, and rendering tests pass.