Este proyecto pretende ser un buscador de telediarios de RTVE y una re-implementación del API Verba en Go, simplificando el stack.
- Un solo binario para el despliegue.
- Sin necesidad de una base de datos externa o Elasticsearch.
El objetivo es mantener la compatibilidad con la API original y añadir nuevas funcionalidades.
Por ahora, el proyecto es un trabajo en progreso y la implementacion del API de Verba es parcial, disponible en https://verba.rbel.co/api.
El contenido de los telediarios se obtiene de la API de Verba diariamente y se almacena en una base de datos SQLite.
Para desplegar el API server necesitaras Docker instalado en tu sistema.
docker build -t verba-go .
docker run -p 9900:9900 verba-go
El API server estará disponible en http://localhost:9900
. La copia de los transcripts se sincroniza automaticamente cada 12 horas desde verba.civio.es.
Este proyecto incluye una CLI para crear y actualizar la base de datos de telediarios.
Para compilar el binario necesitaras Go instalado en tu sistema y RSX disponible en el PATH
.
CGO_ENABLED=1 go install --tags fts5 github.com/rubiojr/rsx@latest
git clone https://github.com/rubiojr/verba-go
cd verba-go
CGO_ENABLED=1 rsx build -o verba
Note
Algunos scripts utilizan SQLite y su extension FTS5, asi que compilar con --tags fts5
es necesario.
# crea la base de datos SQLite
./verba --db verba.db createdb
# busca en los telediarios
./verba --db verba.db search --query "sin animo de lucro"
# actualiza los telediarios
./verba --db verba.db sync
# crea una copia local de los transcripts en formato JSON
./verba --dir transcripts download
# crea la base de datos SQLite
./verba --db verba.db createdb
# levanta un servidor web para buscar en los telediarios
# la base de datos se sincroniza automaticamente cada 12 horas
./verba --db verba.db serve --sync
# busca en los telediarios
curl "http://localhost:9900/search?q=sin%20animo%20de%20lucro"
La sintaxis de búsqueda es la misma que la de SQLite FTS5. Puedes encontrar más información en la documentación oficial.
- Civio - La maravillosa gente que hace posible Verba y ofrece los datos bajo licencia CC BY-SA 3.0
Este proyecto esta bajo la licencia MIT.