feat: search improvements — pagination, heading scroll, and body text indexing
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- api, backend-api-design, search
Línea de trabajo
Empieza leyendo build-search-index.ts y search.ts para comparar las rutas de indexación estática y en tiempo de ejecución; después, sigue la API de búsqueda y la navegación del cliente para el comportamiento existente de LIMIT 20 y de los resultados de encabezados. El trabajo estará terminado cuando funcionen los parámetros de paginación, los enlaces de encabezado se desplacen hasta sus anclas, el texto del cuerpo se indexe de forma coherente y los pesos de BM25 estén documentados o sean configurables.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Several search limitations affect usability:
- Hardcoded LIMIT 20 — no pagination or cursor support for large result sets
- Heading matches don't scroll — clicking a heading result navigates to the page but doesn't scroll to the `#anchor`
- Static index only indexes headings — `build-search-index.ts` extracts headings but not prose body text, making full-text search incomplete (the runtime FTS index in `search.ts` does index body text, but the two are inconsistent)
- BM25 weights are undocumented magic numbers — `bm25(search_fts, 10.0, 5.0, 1.0)` with no explanation of tuning rationale
Suggested Improvements
- Add `offset`/`limit` query params to the search API
- After navigating to a heading result, scroll the anchor into view on the client
- Unify the two search indexing paths (static builder vs runtime builder)
- Document or make configurable the BM25 weight tuning
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 1
- Merge medio
- 12 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de raystack/chronicle
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de raystack/chronicle
Issues similares
-
awaiting-response bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wildcard/caro#1562 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
supadata-ai/mcp#27 ·
-
content
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cosimochellini/one-piece-zero-spoiler#516 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
capricorn86/happy-dom#2485 ·
Los mantenedores suelen responder en 2 días
-
lane: fast
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
unicef/adt-studio#946 ·
Los mantenedores suelen responder en 2 días