Full-text search for DReps and governance actions through a dedicated search service
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Start with src/metadata/text-cache.ts and the search restored by #4266 to understand the current fallback behavior. Then trace the existing capability mechanism and the DRep and governance-action data paths mentioned in the proposal. Done means an optional indexed search service provides consistent ranked results, while unconfigured backends retain the current behavior and all listed acceptance cases pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context
#4262 restored searching DReps by name and governance actions by title, abstract, motivation and rationale (#4266). That fix is an interim solution: no chain-data provider indexes document text, so govtool-backend searches its own in-memory snapshot, reading the text from the metadata service into a per-process cache (src/metadata/text-cache.ts, decision D155).
This works, but it has limits:
- DRep names come from a background warmer. A directory holds thousands of DReps, so a name search only reads names already cached. Right after a backend start, a DRep whose name the warmer hasn't reached yet isn't found.
- Action text search waits up to 5 s. Text not cached by then isn't matched on that request.
- Matching is a plain case-insensitive substring. No ranking, word stemming, typo tolerance or partial-word matching, and only a few fields are searched.
- Each backend process keeps its own cache. Several instances each fetch every document, and a restart starts from empty.
- Without a metadata service, search matches ids only.
Proposal
Move free-text search into a dedicated search service that indexes the anchored documents ahead of time, as decisions D40, D45 and D87 already anticipated (an index provider for free text):
- Index DRep CIP-119 documents (
givenName,objectives,motivations,qualifications) and governance action CIP-108 documents (title,abstract,motivation,rationale), keyed by anchor hash. - Keep the index current as anchors change: new registrations, updates and new actions.
- Serve search results with ranking, so the backend pages over results instead of filtering its whole snapshot.
- Declare it through the existing capability mechanism, so the backend uses it when it's configured and falls back to the current cache-based search when it isn't.
Acceptance
- A name or title search finds every matching DRep or action, including right after a backend start.
- Search time doesn't depend on how many documents exist or are cached.
- Results are the same across backend instances.
- With no search service configured, behaviour is unchanged from #4266.
- Lingua principale
- HTML
- Stelle
- 22
- Fork
- 28
- Merge medio
- 20h 44m
- PR unite (30g)
- 33
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di IntersectMBO/govtool
-
🏗 Infrastructure
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
IntersectMBO/govtool#4297 ·
I maintainer di solito rispondono entro 1 giorno
-
⚙ Backend 📜 Proposal Pillar 2026-Revamp
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
IntersectMBO/govtool#4279 ·
I maintainer di solito rispondono entro 1 giorno
-
Wrap up the PDF backend for production: Strapi data import, lookup data and admin tasksForse già presa @kusssal l’ha presa 17 giorni fa. Aperta⚙ Backend 📜 Proposal Pillar 2026-Revamp
IntersectMBO/govtool#4278 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
🖥 Frontend 2026-Revamp
Difficoltà 4/5 3-5 giorni Idoneità per principianti 65/100
IntersectMBO/govtool#4275 ·
I maintainer di solito rispondono entro 1 giorno
-
🐛 Bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
IntersectMBO/govtool#4274 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di IntersectMBO/govtool
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
AstrBotDevs/AstrBot#10720 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
bug: author create/update with an unknown avatarId returns 404 instead of 400 UNKNOWN_REFERENCEForse già presa @Vinu2111 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
atomityhq/blog-cms#59 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
resource.reload() while params is in error switches the resource to 'idle' instead of retryingApertaarea: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno