55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# Reindex Carpa → Typesense
|
|
|
|
Scripts para reindexar colecciones desde Directus a Typesense (upsert).
|
|
|
|
## Requisitos
|
|
|
|
- Node.js 18+
|
|
- `.env` configurado (ver `.env.example`)
|
|
|
|
## Scripts
|
|
|
|
| Comando | Directus | Typesense |
|
|
|---------|----------|-----------|
|
|
| `node reindex.mjs --collection activities` | `activities_translations` | `activities` + `activities_paragraphs` |
|
|
| `node reindex.mjs --collection conferences` | `conferences_translations` | `conferences` + `conferences_paragraphs` |
|
|
| `node reindex-entrelineas.mjs` | `entrelineas_translations` | `entrelineas` |
|
|
| `node reindex-print-materials.mjs` | `print_materials` | `print-materials` |
|
|
|
|
## Uso
|
|
|
|
```bash
|
|
# Validar transformación sin escribir en Typesense
|
|
node reindex-entrelineas.mjs --dry-run --limit 5
|
|
node reindex-print-materials.mjs --dry-run --limit 5
|
|
|
|
# Index completo
|
|
node reindex-entrelineas.mjs
|
|
node reindex-print-materials.mjs
|
|
|
|
# Con límite y offset para lotes parciales
|
|
node reindex-entrelineas.mjs --limit 100 --offset 200
|
|
```
|
|
|
|
## Opciones comunes
|
|
|
|
| Flag | Descripción |
|
|
|------|-------------|
|
|
| `--limit N` | Procesar solo N registros |
|
|
| `--offset N` | Saltar los primeros N registros |
|
|
| `--dry-run` | Solo lectura + transformación, no importa a Typesense |
|
|
|
|
## Variables de entorno
|
|
|
|
Ver `.env.example`. Cada script soporta vars específicas con fallback a las genéricas:
|
|
|
|
| Script | Vars específicas | Fallback |
|
|
|--------|-----------------|----------|
|
|
| `reindex-entrelineas.mjs` | `ENTRELINEAS_DIRECTUS_*`, `ENTRELINEAS_TYPESENSE_*` | `DIRECTUS_*`, `TYPESENSE_*` |
|
|
| `reindex-print-materials.mjs` | `PRINT_DIRECTUS_*`, `PRINT_TYPESENSE_*` | `DIRECTUS_*`, `TYPESENSE_*` |
|
|
|
|
## Notas
|
|
|
|
- Todos los imports usan `?action=upsert` — no elimina documentos existentes.
|
|
- Si el Directus de entrelineas/print-materials es distinto al de activities, definir las vars específicas en `.env`.
|