Dos corrientes de luz, una de cubos naranjas y otra de partículas azules, que se funden en una sola, metáfora de la búsqueda híbrida

Búsqueda híbrida: qué enseñan BM25 y los embeddings sobre el SEO

Los sistemas que alimentan buscadores y asistentes con IA no tienen por qué elegir entre buscar palabras o buscar significados: la llamada búsqueda híbrida combina ambas cosas, y entender cómo funciona ayuda a escribir páginas que se recuperen bien por las dos vías. Beau Carnes lo explica en dos cursos publicados en freeCodeCamp, uno del 21 de octubre sobre un motor híbrido construido dentro de PostgreSQL y otro del 3 de noviembre sobre bases de datos vectoriales para principiantes. Ninguno habla de SEO, pero describen con claridad dos mecanismos de recuperación que están detrás de muchos sistemas RAG.

Las claves de la búsqueda híbrida y el SEO en 30 segundos

  • Qué es: combina la coincidencia de palabras (BM25) con la búsqueda por significado mediante embeddings.
  • De dónde sale: dos cursos de Beau Carnes en freeCodeCamp, uno con PostgreSQL y otro con ChromaDB.
  • Cómo se mezclan: la fusión por rango recíproco (RRF) une ambas listas sin comparar puntuaciones.
  • Para el SEO: conviene usar el término exacto que busca la gente y explicar el concepto con claridad.
  • Límite: ni Google ni Bing publican la receta exacta de su recuperación.

RAG son las siglas de Retrieval-Augmented Generation (generación aumentada por recuperación): antes de responder, el modelo de lenguaje recibe fragmentos de documentos recuperados de una base de datos o de un índice web. La calidad de la respuesta depende mucho de esa primera fase, porque lo que no se recupera no se puede citar. Ahí es donde entran BM25 y los embeddings.

El primer curso construye un buscador sobre 240.000 artículos de la Wikipedia en inglés simple con tres extensiones de PostgreSQL: pg_textsearch para la parte léxica y pgvector y pgvectorscale para guardar y consultar vectores de 384 dimensiones. El segundo usa ChromaDB y el modelo de embeddings de Gemini, y visualiza esos vectores en tres dimensiones. Los dos artículos son resúmenes de cursos en vídeo, así que no aportan mediciones de calidad ni de velocidad; sirven para entender los conceptos, no para comparar rendimientos.

Dos formas de buscar que fallan en sitios distintos

BM25 (Best Matching 25) es la familia de fórmulas clásica de la recuperación por palabras. La documentación de pg_textsearch, la extensión de Tiger Data que usa el curso, resume sus tres ideas: los términos raros pesan más que los comunes gracias a la frecuencia inversa de documento; repetir una palabra tiene rendimientos decrecientes, de modo que un texto no gana por insistir; y la puntuación se ajusta según la longitud del documento respecto a la media del corpus. Carnes pone un ejemplo sencillo: una consulta como «Apollo 13» necesita una coincidencia exacta, y ahí la búsqueda léxica es imbatible.

La búsqueda semántica funciona de otra manera. Un modelo convierte cada texto en un embedding, una lista de números que representa su significado, y la base de datos busca los vectores más cercanos al de la consulta con medidas como la similitud del coseno o la distancia euclídea. Para no comparar la consulta con todos los documentos uno por uno, se usan índices aproximados como HNSW o IVF, que el segundo curso presenta como la forma de evitar la fuerza bruta. El ejemplo de Carnes es describir la bioluminiscencia sin usar esa palabra: la búsqueda por significado encuentra el artículo; la de palabras, probablemente no.

Cada método cubre el punto ciego del otro. BM25 tropieza con sinónimos y paráfrasis. Los embeddings pueden diluir los detalles que importan en una consulta concreta: un código de producto, un número de versión, un nombre propio poco frecuente. Por eso la combinación es habitual en los sistemas RAG que necesitan precisión y cobertura a la vez.

Cómo se mezclan dos listas que no hablan el mismo idioma

El problema práctico es que las puntuaciones no son comparables. Una similitud del coseno se mueve en un rango acotado, mientras que la puntuación BM25 depende del corpus; en pg_textsearch, además, es negativa y mejor cuanto más baja. El curso resuelve la mezcla con la fusión por rango recíproco, RRF (Reciprocal Rank Fusion), calculada directamente en SQL.

RRF no mira las puntuaciones, solo las posiciones. Cada documento suma, por cada lista en la que aparece, 1 dividido entre una constante k más su posición. El método lo propusieron Gordon Cormack, Charles Clarke y Stefan Büttcher en un artículo presentado en el congreso SIGIR de 2009, donde fijaron k en 60 tras una prueba piloto y concluyeron que la fusión daba mejores resultados que cualquiera de los sistemas individuales. La constante sirve para que un primer puesto aislado no lo decida todo y para que los documentos que aparecen bien situados en ambas listas suban. El curso de freeCodeCamp no detalla qué valor de k usa ni si pondera una búsqueda más que la otra.

La consecuencia es intuitiva: un pasaje que solo encaja por palabras o solo por significado puede quedar a media tabla, mientras que uno que encaja de las dos maneras tiende a subir en la lista combinada.

Qué implica para escribir contenido que se recupere

Conviene no dar el salto con demasiada alegría: Google y Bing no documentan qué combinación de métodos usan. Google sí explica que AI Overviews y AI Mode pueden lanzar varias búsquedas relacionadas sobre subtemas, el llamado query fan-out, para reunir páginas de apoyo. Y las directrices de Bing piden contenido que se entienda sin contexto externo, entidades nombradas de forma coherente y una sola temática por URL para ser elegido como fuente en sus respuestas. La búsqueda híbrida es un buen modelo mental para entender por qué esas recomendaciones tienen sentido, no una descripción de lo que hace Google por dentro.

Con esa cautela, estas pautas se sostienen bien:

  • Nombrar las cosas como las busca la gente. Si el usuario escribe un modelo, una norma o una sigla, el término exacto tiene que estar en el título y en el texto. La parte léxica lo necesita.
  • Explicar el concepto en lenguaje natural. Definir, dar contexto y responder variantes de la pregunta acerca el texto a consultas que no usan las mismas palabras.
  • Escribir pasajes que se sostengan solos. Los sistemas RAG suelen trabajar con fragmentos, no con páginas enteras; un párrafo que depende de lo dicho tres secciones antes pierde fuerza al quedar aislado.
  • No repetir por repetir. BM25 satura la frecuencia de un término, así que insistir en la palabra clave aporta poco y empeora la lectura.
  • Un tema por página. Un texto que mezcla asuntos distintos ofrece pasajes menos claros para cualquiera de las dos vías de búsqueda.

Todo esto presupone que el sistema lee texto. No siempre es así: investigadores de Berkeley han probado PixelRAG, que indexa webs como capturas de pantalla, y los asistentes recurren a capas de recuperación muy distintas, como se vio al analizar por qué Claude no busca como Google. Aun así, un texto claro, con los términos correctos y bien explicado, juega con ventaja en casi cualquier método de recuperación.

Preguntas frecuentes

¿Qué es BM25?

Es una fórmula de recuperación por palabras que da más peso a los términos raros, limita el efecto de repetirlos y ajusta la puntuación según la longitud del documento.

¿Qué diferencia hay entre búsqueda léxica y semántica?

La léxica busca coincidencias de palabras; la semántica compara embeddings para encontrar textos con un significado parecido aunque usen otros términos.

¿Qué es la fusión por rango recíproco?

Un método que combina varias listas de resultados usando solo las posiciones. Cada documento suma 1 entre k más su posición en cada lista; el artículo original usó k = 60.

¿Usa Google búsqueda híbrida?

Google no detalla sus métodos de recuperación. Sí documenta que AI Overviews y AI Mode pueden lanzar varias búsquedas relacionadas para componer una respuesta.

Fuentes: