search: index entry bodies (Notes and Evidence) with a lazily loaded prebuilt index
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 42/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- javascript
- Domaine
- search
Piste de recherche
Start with site/lib/search.mjs, especially searchFields(e) and scoreFields, then check the build flow that produces dist/search-index.json and the existing search tests. Add a fixture whose Notes contain a unique word and verify it is found with body hits ranked below name and tag hits. Done when the index loads on first keystroke, the initial home page payload is unchanged, snippets appear for body matches, and the ROADMAP item moves to Done.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Why it matters
Searching "GDPR", "share-alike", "Steam disclosure", "AGPL export" or "file conversion" finds nothing, although those phrases are exactly what the Notes sections record. The catalog's differentiator is the licence reading, and that text is unsearchable. ROADMAP.md lists full-text search as planned.
Evidence
site/lib/search.mjs:23-29searchFields(e)builds three fields (name/publisher/tags, summary, licence); body text is excluded.data.jsis already ~326 KB (see #75), so appending full bodies would roughly double it.
Suggested approach
- At build time tokenise each body (lowercase, stop words out, light stemming) and emit a compact inverted index
dist/search-index.json(token → entry ids), fetched on the first keystroke rather than on page load. - Score body hits below name/tag hits in
scoreFieldsso current ranking holds. - Show a one-line snippet around the match on the card when the hit came from the body.
- Test with a fixture entry whose Notes contain a unique word.
Done when
A word that only appears in an entry's Notes returns that entry, the home-page payload before the first search is unchanged, and the ROADMAP item moves to Done.
- Langage dominant
- JavaScript
- Étoiles
- 58
- Forks
- 15
- Merge moyen
- 16 h 53 min
- PR mergées (30 j)
- 14
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TMHSDigital/Free-Game-Dev-Assets
-
community marketing priority: low
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
TMHSDigital/Free-Game-Dev-Assets#151 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation priority: medium
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
TMHSDigital/Free-Game-Dev-Assets#72 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 1/5 1-3 heures Accessibilité débutants 68/100
TMHSDigital/Free-Game-Dev-Assets#3 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
marketing priority: low
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
TMHSDigital/Free-Game-Dev-Assets#152 ·
Les mainteneurs répondent en général sous 1 jour
-
feature priority: medium
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
TMHSDigital/Free-Game-Dev-Assets#144 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de TMHSDigital/Free-Game-Dev-Assets
Issues similaires
-
Link Checker ReportOuverteautomated issue report
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
microsoft/playwright#43640 ·
Les mainteneurs répondent en général sous 1 jour
-
✏️ Editing - Tags
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
openfoodfacts/openfoodfacts-server#15127 ·
Les mainteneurs répondent en général sous 1 jour
-
Add a dark mode toggleOuverteenhancement good first issue hacktoberfest help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Andbal23/dynamic-music-pill#195 ·
Les mainteneurs répondent en général sous 1 jour