JSON y búsqueda
14 pasos en 4 series de SQL.
SQL absorbió las mejores ideas de las bases de datos de documentos en lugar de perder contra ellas. Leer JSON desde una columna, escribirlo de vuelta, y luego búsqueda de texto completo con FTS5.
Catorce pasos. Vale la pena saberlo antes de decidir que necesitas una segunda base de datos junto a la que ya tienes.
Leer JSON
- Leer JSON desde una columnaUna columna JSON es texto hasta que le pides a una función JSON que mire adentro.
- Los operadores flechaDos flechas, una diferencia: una conserva las comillas del JSON y la otra las quita.
- Convertir un arreglo en filasjson_each es una tabla: una fila por elemento, y el JSON vuelve al alcance de SQL.
Escribir JSON
- Construir JSON en una consultaLa dirección contraria: entran filas, sale un documento JSON.
- Agregar filas en JSONUn documento por grupo, armado por la base de datos y no por el llamador.
- Editar JSON en el lugarEditar un documento sin antes parsearlo en tu aplicación.
- Mantener honesta una columna JSONUna columna TEXT guardará feliz un documento a medio escribir, salvo que la frenes.
- Una respuesta JSON de API, en SQLUna consulta, un documento: la forma que el llamador pidió, armada donde viven los datos.
Búsqueda de texto completo
- Un índice de texto completoLIKE recorre cada fila. Un índice de texto completo sabe qué filas contienen la palabra.
- Buscar coincidencias de textoEl operador MATCH trae un pequeño lenguaje de consulta propio.
- Ordenar y resaltar coincidenciasUn resultado de búsqueda necesita orden y vista previa, y FTS5 trae ambos integrados.
- Mantener sincronizado un índice de búsquedaEl índice no debe ser una segunda copia de la verdad: apúntalo a la tabla y mantenlo al día.
Bis
- search_index.sqlUna búsqueda que funciona: un índice sobre una tabla existente, sincronizado y con ranking.
- json_ingest.sqlLlega un documento JSON; salen filas relacionales, con los registros malos apartados.