Técnico

Búsqueda híbrida: por qué combinar palabras clave y vectores gana a cualquiera de las dos por separado

El equipo de Kopik10 min de lectura

La búsqueda híbrida combina la búsqueda por palabras clave (BM25, el algoritmo detrás de los motores full-text) con la búsqueda vectorial (similitud semántica por embeddings) y fusiona ambos resultados, normalmente con reciprocal rank fusion (RRF). En documentos profesionales (contratos, manuales técnicos, normativa) ninguna de las dos técnicas basta sola: BM25 pierde los sinónimos y la vectorial pierde los códigos exactos. Juntas cubren ambos casos.

Qué es la búsqueda híbrida y por qué se ha vuelto el estándar en RAG

Cuando un sistema de RAG (Retrieval-Augmented Generation) recibe una pregunta, el primer paso no es generar una respuesta: es encontrar los fragmentos de documento que probablemente la contienen. Ese paso se llama recuperación, y de él depende todo lo demás. Si el motor de búsqueda no encuentra el fragmento correcto, ningún modelo de lenguaje, por bueno que sea, podrá responder con precisión. Puede repasar el proceso completo en nuestro artículo sobre cómo funciona RAG paso a paso.

Durante años, la recuperación se resolvió con búsqueda por palabras clave: índices invertidos, TF-IDF y, sobre todo, BM25. Con la llegada de los embeddings, muchos equipos migraron a búsqueda puramente vectorial, asumiendo que "entender el significado" era superior a "buscar coincidencias de texto". La realidad, aplicada a documentos profesionales reales, es más matizada: cada técnica falla en casos distintos, y la búsqueda híbrida existe precisamente para cubrir los huecos del otro método.

BM25: la búsqueda por palabras clave que sigue siendo imprescindible

BM25 (Best Matching 25) es un algoritmo de ranking que puntúa un documento según cuántas veces aparecen los términos de la consulta, ajustado por la frecuencia general de esos términos en la colección y por la longitud del documento. En la práctica, significa que si usted busca "artículo 49.1.c" o "referencia SKU-4471-B", BM25 lo encuentra de forma literal y exacta, porque busca esas cadenas de caracteres tal cual.

Su punto fuerte es precisamente ese: la exactitud léxica. Funciona de maravilla con:

  • Códigos, referencias, números de artículo, matrículas de norma (ISO 9001, RD 486/1997)
  • Nombres propios, marcas, acrónimos técnicos (JASO MA2, RGPD, CSRD)
  • Jerga muy específica de un sector donde el vocabulario exacto importa más que la idea general
  • Consultas cortas de dos o tres palabras donde no hay ambigüedad semántica que resolver

Su debilidad es igual de clara: BM25 no entiende sinónimos ni paráfrasis. Si el documento dice "rescisión del contrato" y el usuario pregunta por "despido", BM25 puede no encontrar nada relevante, porque esas dos expresiones no comparten ninguna palabra.

Búsqueda vectorial: el significado por encima de la palabra exacta

La búsqueda vectorial convierte el texto en embeddings, representaciones numéricas donde frases con significado parecido quedan cerca unas de otras en el espacio matemático, aunque no compartan ni una sola palabra. Si quiere entender el mecanismo con detalle, tenemos una explicación dedicada en qué son los embeddings.

Gracias a esto, una pregunta como "¿qué pasa si echo a un empleado sin avisar?" puede encontrar el párrafo que habla de "extinción del contrato por causas disciplinarias sin preaviso", porque ambas frases viven en la misma zona semántica aunque el vocabulario sea completamente distinto. Es la técnica ideal cuando el usuario formula preguntas con sus propias palabras, en lenguaje natural, sin conocer la terminología exacta del documento.

Su punto débil es el inverso al de BM25: los embeddings generalistas tienden a "suavizar" los términos exactos. Pueden confundir referencias numéricas parecidas, pasar por alto un código de producto concreto o devolver un pasaje temáticamente relacionado pero que no contiene el dato puntual que se buscaba. Para documentos con mucha terminología técnica, la calidad también depende de cómo se han dividido los textos en fragmentos, un tema que tratamos en estrategias de chunking para RAG.

El problema real: los documentos profesionales mezclan ambos tipos de contenido

El error habitual es pensar que hay que "elegir bando". Pero un manual técnico, un convenio colectivo o un pliego de condiciones no son un solo tipo de texto: dentro del mismo documento conviven referencias exactas (artículos, normas, códigos de pieza) y explicaciones en lenguaje natural que un usuario preguntará con sus propias palabras. Algunos ejemplos concretos:

  • Un despacho de asesoría laboral recibe preguntas como "¿cuántos días de preaviso hay que dar?" (lenguaje natural, necesita vectores) y también "¿qué dice el artículo 53 del Estatuto de los Trabajadores?" (referencia exacta, necesita BM25)
  • Un fabricante de maquinaria agrícola tiene manuales donde el código de la pieza de recambio (BM25) y la descripción del síntoma de avería ("el motor pierde fuerza en pendiente", vectorial) deben recuperarse con la misma eficacia
  • Un departamento de PRL consulta tanto el número exacto de una guía del INSST como preguntas abiertas sobre "qué hacer si un trabajador se marea en altura"
  • Un equipo de compliance busca una cláusula por su numeración exacta en un contrato marco, pero también quiere encontrar "todas las cláusulas que hablan de penalizaciones por retraso" sin saber cómo están redactadas exactamente

En los cuatro casos, usar solo BM25 falla con las preguntas en lenguaje natural, y usar solo vectores falla con las referencias exactas. La búsqueda híbrida no es una mejora marginal: en documentos profesionales reales suele ser la diferencia entre un sistema útil y uno que los empleados dejan de usar al cabo de dos semanas.

Cómo se combinan los dos resultados: reciprocal rank fusion (RRF)

Tener dos listas de resultados (una de BM25, otra de búsqueda vectorial) no sirve de nada si no se fusionan en una sola lista ordenada. El método más usado para esto es reciprocal rank fusion (RRF), y su gran ventaja es que no necesita comparar las puntuaciones brutas de ambos sistemas, que no son compatibles entre sí (BM25 da puntuaciones sin límite superior claro, la similitud vectorial suele moverse entre 0 y 1).

La idea de RRF, sin fórmulas complicadas

RRF ignora la puntuación exacta y se fija solo en la posición (el rango) que ocupa cada fragmento en cada lista. A cada documento se le asigna una puntuación combinada basada en el inverso de su posición en cada ranking, de forma que un fragmento que aparece en el puesto 1 de BM25 y en el puesto 3 de la búsqueda vectorial recibe una puntuación final mucho más alta que uno que solo aparece, por ejemplo, en el puesto 20 de uno de los dos métodos. El resultado es una lista final que premia a los fragmentos que ambos métodos consideran relevantes, y rescata a los que uno de los dos métodos detecta con fuerza aunque el otro los ignore.

La fórmula habitual es sencilla: la puntuación de un documento es la suma, para cada ranking en el que aparece, de 1 dividido entre (k más su posición en ese ranking), donde k es una constante (normalmente 60) que suaviza el peso de las posiciones muy bajas. No hace falta implementarla desde cero: la mayoría de motores de búsqueda híbrida modernos (Elasticsearch, OpenSearch, Qdrant, Weaviate y similares) la ofrecen de forma nativa.

No todo es RRF

RRF es el método más extendido por su simplicidad y robustez, pero no el único. Algunos sistemas usan fusión ponderada por puntuación normalizada, o un segundo paso de re-ranking con un modelo específico que reordena los primeros 20-30 candidatos combinados. Si su proveedor de RAG no detalla el método de fusión, pregúntelo: afecta directamente a la calidad de las respuestas.

BM25 solo, vectores solos o híbrido: comparativa rápida

Qué método gana según el tipo de consulta

Tipo de consultaSolo BM25Solo vectorialHíbrido (BM25 + vectores + RRF)
Código, referencia o norma exacta ("ISO 45001")ExcelenteDébil, puede confundir códigos similaresExcelente
Pregunta en lenguaje natural sin vocabulario técnicoDébil, requiere coincidencia literalExcelenteExcelente
Acrónimo poco frecuente ("JASO MA2", "CSRD")Buena si el término está en el textoVariable, depende del embeddingBuena a excelente
Pregunta mixta ("¿el artículo 15 habla de teletrabajo?")Encuentra el artículo, puede perder el conceptoEncuentra el concepto, puede perder el artículoBuena, cubre ambas partes
Documentos muy cortos y homogéneosSuficienteSuficienteMejora marginal

Cómo saber si su herramienta de RAG hace búsqueda híbrida de verdad

No todas las plataformas que dicen "búsqueda semántica avanzada" hacen realmente fusión de rankings. Algunas señales para distinguir un sistema híbrido real de un envoltorio de marketing:

  1. Pregunte si el motor ejecuta dos búsquedas independientes (texto y vector) o solo una con reranking posterior sobre resultados vectoriales
  2. Pida un ejemplo con una referencia exacta (un número de artículo, un código) y compruebe si la encuentra sin error
  3. Pida un ejemplo con una pregunta parafraseada sin ninguna palabra del documento original y compruebe si también la encuentra
  4. Compruebe si puede ver o recibir los pasajes citados que sustentan la respuesta, no solo el texto generado, para auditar qué fragmento ganó la búsqueda

Kopik (kopik.io) indexa cada base de conocimiento con búsqueda híbrida por defecto: full-text sobre el texto extraído de sus documentos combinado con expansión semántica por palabras clave, de forma que una referencia exacta y una pregunta en lenguaje natural sobre el mismo PDF tienen las mismas probabilidades de encontrar el pasaje correcto. Las respuestas incluyen los pasajes citados, así que puede comprobar directamente qué fragmento sustenta cada afirmación, algo que detallamos en cómo verificar una respuesta de IA con sus fuentes.

Esto importa especialmente cuando el objetivo es reducir respuestas inventadas: un motor de recuperación que falla con la mitad de las preguntas obliga al modelo de lenguaje a "rellenar huecos" con conocimiento genérico, que es justo el origen de muchas alucinaciones. Si le interesa ese ángulo, lo desarrollamos en cómo reducir las alucinaciones de la IA.

Compruébelo con sus propios documentos

Suba un PDF o un manual con referencias técnicas y pregúntele tanto por un código exacto como por una duda en lenguaje natural. Kopik indexa con búsqueda híbrida desde el primer documento, sin configurar nada.

Buenas prácticas al implementar búsqueda híbrida

  • No confíe en un único método para validar la calidad: pruebe su sistema con consultas de referencia exacta y con consultas parafraseadas por separado
  • Revise el tamaño de fragmento (chunking): un fragmento demasiado largo diluye la señal de BM25; uno demasiado corto pierde contexto para el embedding
  • Si puede ajustar pesos entre BM25 y vectorial, empiece con un peso equilibrado y ajuste solo si detecta un sesgo claro hacia un tipo de consulta en sus datos reales
  • Mantenga siempre visibles los pasajes de origen en la respuesta final: le permite auditar qué método de búsqueda encontró cada fragmento y detectar fallos sistemáticos
  • Si consulta sus bases desde Claude, Cursor o ChatGPT vía MCP, confirme que el servidor expone también el texto fuente, no solo un resumen generado

Si gestiona varias bases de conocimiento y quiere consultarlas desde sus herramientas habituales de desarrollo o de escritura, puede revisar nuestra guía para conectar Claude, Cursor o ChatGPT a una base de conocimiento o explorar la documentación de API y MCP para integrarlo en sus propios flujos. También puede explorar el catálogo de bases públicas para ver ejemplos reales de bases indexadas con búsqueda híbrida antes de crear la suya.

En resumen

BM25 gana cuando el usuario escribe exactamente el término que aparece en el documento. La búsqueda vectorial gana cuando el usuario pregunta con sus propias palabras sobre un concepto. Los documentos profesionales (legales, técnicos, normativos) mezclan ambos casos constantemente, así que cualquier sistema de RAG serio para este tipo de contenido necesita búsqueda híbrida con fusión por RRF, no una elección exclusiva entre las dos técnicas.

Preguntas frecuentes

¿Qué significa exactamente BM25?

BM25 (Best Matching 25) es un algoritmo de ranking de búsqueda full-text que puntúa documentos según la frecuencia de los términos de la consulta, ajustada por lo común que sea ese término en toda la colección y por la longitud del documento. Es el sucesor de TF-IDF y la base de la mayoría de motores de búsqueda por palabras clave, incluido Elasticsearch por defecto.

¿Qué es reciprocal rank fusion (RRF) en una frase?

RRF es un método para combinar dos o más listas de resultados ordenados (por ejemplo, de BM25 y de búsqueda vectorial) en una sola lista final, dando más peso a los documentos que aparecen bien posicionados en varias listas, sin necesidad de comparar sus puntuaciones originales.

¿La búsqueda híbrida es más lenta o más cara que solo vectorial?

Implica ejecutar dos búsquedas en paralelo en lugar de una, pero ambas suelen ser muy rápidas (milisegundos) y la fusión por RRF es computacionalmente trivial. En la práctica el coste adicional es insignificante comparado con la mejora en precisión, especialmente en documentos con terminología técnica o legal.

¿Necesito ajustar manualmente el peso entre BM25 y vectores?

En la mayoría de casos no. RRF funciona bien con un peso equilibrado por defecto porque se basa en posiciones, no en puntuaciones. Solo conviene ajustar pesos si, tras probar con consultas reales, detecta un sesgo claro: por ejemplo, si sus usuarios preguntan casi siempre por códigos exactos y casi nunca en lenguaje natural.

¿Tiene sentido la búsqueda híbrida con pocos documentos?

Sí, aunque el beneficio es más visible cuantos más documentos y más variado sea el vocabulario. Incluso con un único manual técnico, si contiene tanto códigos exactos como explicaciones narrativas, la búsqueda híbrida evita que una de las dos formas de preguntar quede sistemáticamente peor servida.

¿Cómo compruebo si una herramienta de RAG usa búsqueda híbrida real?

Pregúntele algo con una referencia exacta del documento (un número de artículo o un código) y, después, lo mismo pero parafraseado sin esas palabras. Si ambas consultas devuelven el pasaje correcto con las citas del documento original, probablemente combina BM25 y vectores; si solo una de las dos funciona bien, es probable que use un único método.

Reciba la newsletter de Kopik

Nuevas bases de conocimiento, guías sobre RAG y novedades del producto. Un correo cada una o dos semanas, baja con un clic.

Al suscribirse, acepta recibir nuestra newsletter. Nunca compartimos su dirección.