mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 08:23:12 +00:00
52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
|
|
# Search Tier Decision — Fase 4
|
|||
|
|
|
|||
|
|
**Data:** 2026-06-24
|
|||
|
|
**Status:** Provisório (dev) — aguardando Volume Discovery staging/prod
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Tier confirmado
|
|||
|
|
|
|||
|
|
| Ambiente | Tier | Total WOs | Decisão |
|
|||
|
|
|----------|------|-----------|---------|
|
|||
|
|
| Dev local | **S (provisório)** | < 25k sintético | Implementar SQL filtros + paginação opcional |
|
|||
|
|
| Staging | _pendente_ | _pendente acesso_ | Executar [volume-discovery-report.md](../phase-0/volume-discovery-report.md) |
|
|||
|
|
| Produção | _pendente_ | _pendente acesso_ | Executar queries read-only |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Estratégia por tier
|
|||
|
|
|
|||
|
|
| Tier | Volume | Estratégia advanced search |
|
|||
|
|
|------|--------|----------------------------|
|
|||
|
|
| **S** | < 25k | SQL filtros compostos + paginação default 50, max 100 |
|
|||
|
|
| **M** | 25k–250k | Paginação **obrigatória** + índices covering |
|
|||
|
|
| **L** | 250k–1M | Spike full-text SQL Server — **não implementar sem spike** |
|
|||
|
|
| **XL** | > 1M | Documentar ARB; search externo — **não implementar** |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Implementação atual (Tier S)
|
|||
|
|
|
|||
|
|
- `WorkOrderBoardSearchFilter` — filtro textual compartilhado (board + advanced)
|
|||
|
|
- `WorkOrderAdvancedSearchDataService` — query composta com `CountAsync` + `Skip/Take`
|
|||
|
|
- Índices Phase 4: `SiteCode`, `InternalWONumber`, `LifecycleStatus+ScheduledDate`
|
|||
|
|
- Min 2 caracteres em `search` para evitar full-table scan
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Próximos passos (gate staging)
|
|||
|
|
|
|||
|
|
1. Executar `scripts/volume-discovery.ps1` contra staging read-only
|
|||
|
|
2. Preencher tabela §3 do volume report
|
|||
|
|
3. Atualizar este documento com tier real
|
|||
|
|
4. Repetir load test k6 em staging; ajustar `pageSize` max se tier = M
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Referências
|
|||
|
|
|
|||
|
|
- [volume-discovery-report.md](../phase-0/volume-discovery-report.md)
|
|||
|
|
- [phase-4/README.md](./README.md)
|
|||
|
|
- Roadmap §10, §12 Fase 4
|