El arco del libro va de los conceptos a las herramientas y de ahí a aplicaciones completas: búsqueda por similitud, un buscador de artículos científicos, un sistema de preguntas sobre documentos propios funcionando en una sola máquina, y una búsqueda sobre conversaciones privadas. La postura del autor está declarada desde el prólogo: prefiere extensiones sobre bases de datos conocidas antes que un motor especializado nuevo.
Qué saqué de él
El argumento para no agregar una pieza de infraestructura. Si los datos ya viven en una base relacional, poner los vectores al lado evita mantener dos sistemas sincronizados, y esa sincronización es donde aparecen los errores que nadie ve hasta que alguien pregunta algo y recibe una respuesta desactualizada. Desde entonces, cuando alguien plantea buscar por significado sobre sus documentos, mi primera propuesta es la base que ya tiene, y hay que darme un motivo para cambiarla.
El patrón de traer de más y filtrar después, que explica por qué combinar un filtro por metadatos con una búsqueda por significado da resultados peores de lo esperado: el filtro no viaja dentro de la búsqueda, se aplica encima, y si uno pide pocos resultados el filtro se queda sin nada que filtrar.
Y el recordatorio de que esto se puede hacer entero en una máquina, sin servicios de terceros, cuando los documentos no pueden salir de la empresa. Aquí está la parte de esto que hago.
Qué dejé fuera
Dos cosas, y el propio libro avisa de una: los ejemplos están pensados para uso personal y aprendizaje, no para producción, y eso limita bastante lo que se puede copiar. La otra no la avisa: una de las dos extensiones sobre las que construye ya quedó atrás, reemplazada por otra del mismo ecosistema. Y el cierre, que propone un lenguaje de consulta estándar para vectores, es una idea razonable y por ahora solo eso.