Search Architecture¶
InfraLynx search is a centralized API-driven service layer, not a UI-side aggregation pattern.
Search Flow¶
- The web shell sends a single request to
/api/search. - The API assembles explicit records from core, IPAM, DCIM, and operations reference data.
@infralynx/core-domainapplies tokenization, partial-match scoring, and result grouping.- The web application normalizes the response and renders grouped results.
Ownership¶
packages/core-domain/src/searchowns query normalization, keyword matching, ranking, and grouping contracts.apps/apiowns record assembly and the search endpoint.apps/web/src/services/searchowns transport and normalization into UI models.apps/web/src/hooksowns request lifecycle and retry behavior.apps/web/src/stateowns reducer-backed query, filter, and selection state.apps/web/src/components/searchowns rendering and interaction.
Architectural Constraints¶
- UI components must not query domain endpoints directly for search.
- Search relationships must remain explicit and record-based.
- Ranking must stay deterministic so later indexing systems can preserve user-visible behavior.
- Search filters must narrow the centralized result set, not rebuild results client-side from raw domain payloads.
Future Direction¶
This baseline is designed so a future search index can replace only the API record source while preserving:
- the shared search query contract
- the response grouping model
- the UI data integration boundary