Cómo funciona realmente la búsqueda estándar de Shopware

Por qué «handschuh» no encuentra guantes de trabajo – y qué puede configurar

Guantes de trabajo sobre un banco de trabajo de madera
Búsqueda O
  • solo cuentan las 8 mejores palabras
  • basta con uno de varios términos
  • con un solo término: puede perder productos
vs.
Búsqueda Y
  • cuentan todas las palabras coincidentes
  • deben coincidir todos los términos
  • con un solo término: suele encontrar bastante más

En los foros de Shopware se repiten una y otra vez las mismas preguntas: ¿Por qué la búsqueda devuelve productos que ni siquiera contienen el término buscado? ¿Por qué una sola «e» decide si un producto aparece o no? ¿Y por qué la búsqueda Y encuentra más que la búsqueda O? Las respuestas están en el código fuente. Lo hemos analizado a fondo y aquí explicamos qué ocurre: sin necesidad de saber programar, pero con el detalle suficiente para que entienda el comportamiento de su tienda.

Esto se aplica a la búsqueda estándar de Shopware 6 (basada en MySQL, sin Elasticsearch/OpenSearch). Hemos leído el código de la versión 6.7.13.0 (la lógica no cambia hasta la 6.7.14.1) y hemos probado todos los ejemplos de abajo en una tienda con Shopware 6.7.14.1.

Los ejemplos están en alemán a propósito: el problema de las palabras compuestas afecta sobre todo al alemán, y las tiendas alemanas son el público principal de Shopware.

Paso 1: Al indexar se crea un diccionario

Shopware no recorre los textos de sus productos en cada búsqueda. En su lugar, al indexar construye un diccionario de palabras clave a partir de todos los campos marcados como buscables en Settings → Search (Ajustes → Búsqueda). Los textos se dividen en palabras4:

  • todo se pasa a minúsculas,
  • se separa por espacios y signos de puntuación,
  • los guiones, guiones bajos, puntos, «+» y «@» se conservan («Montage-Feinstrickhandschuhe» sigue siendo una sola palabra),
  • las palabras compuestas no se dividen. Para Shopware, «Arbeitshandschuhe» es una única palabra.

Cada palabra se guarda dos veces: una tal cual y otra al revés («arbeitshandschuhe» y «ehuhcsdnahstiebra»). El paso 3 muestra por qué.

Paso 2: El término de búsqueda se convierte en patrones

Cuando un cliente escribe «stuhl», Shopware no busca solo esa palabra exacta. Genera varios patrones de búsqueda con comodines, en los que algunas letras pueden faltar o ser cualquiera. Para «stuhl» son, entre otros1:

PatrónSignificaEncuentra, por ejemplo
s__hl…s, dos caracteres cualesquiera, hl, luego cualquier cosastahl, stuhl
stu…empieza por «stu»stuhl, stufe, stuck
stu_l…stu, un carácter cualquiera, lstuhl

Esta es la forma de tolerancia a errores de Shopware, y explica por qué «Stuhl» también encuentra «Stahl». No es una búsqueda difusa (fuzzy) «de verdad», pero tampoco es tolerancia cero. La misma tolerancia actúa también al final de la palabra: en nuestra tienda de prueba, la búsqueda de «stuhl» devolvió también productos con la palabra inglesa «Steel» en el nombre, porque «steel» termina como «stuhl», solo que con dos letras cambiadas («st», dos caracteres cualesquiera, «l»).

Dos casos especiales:

  • Las palabras con cifras (p. ej. «m12») se buscan sin comodines, pero en cualquier posición de la palabra: «m12» también encuentra «din-m12» y «m12x40».
  • Las palabras muy cortas (hasta 2 caracteres) solo se buscan como principio de palabra.

Paso 3: Principio o final, nunca el medio

Los patrones se comparan dos veces con el diccionario: con las palabras normales y con las guardadas al revés2. Los patrones normales encuentran palabras que empiezan así. Los comparados al revés encuentran palabras que terminan así.

Lo que nunca se encuentra: un término que solo aparece en medio de una palabra más larga. Justo ese era el caso de un hilo muy comentado del foro:

BúsquedaNombre del producto «Arbeitshandschuhe» (guantes de trabajo)Por qué
«handschuhe» (guantes)✅ encontrado«arbeitshandschuhe» termina en «handschuhe»
«handschuh» (guante)❌ no encontradono está ni al principio ni al final
«arbeit» (trabajo)✅ encontrado«arbeitshandschuhe» empieza por «arbeit»
«strick» (punto) en «Montage-Feinstrickhandschuhe»❌ no encontradoestá en el medio

En alemán, con sus muchas palabras compuestas (Holzschrauben, Bürostuhl, Edelstahlspüle: tornillos para madera, silla de oficina, fregadero de acero inoxidable), esta es la causa más frecuente de «El producto existe, ¿por qué la búsqueda no lo encuentra?».

Paso 4: Solo cuentan las 8 mejores palabras

A menudo muchas palabras del diccionario encajan con los patrones. Shopware las puntúa entonces, sobre todo según lo parecidas que sean al término buscado (distancia de Levenshtein: ¿cuántas letras hay que cambiar?). «stahl» está a una sola letra de «stuhl» y por eso obtiene una buena puntuación.

Importante: para la búsqueda O, Shopware utiliza después solo las 8 palabras mejor puntuadas1. Si muchas palabras tienen la misma puntuación, algo habitual con las palabras compuestas, en la práctica es el orden alfabético el que decide cuáles son esas 8. Los productos que solo encajarían a través de la novena o décima palabra se quedan fuera.

Búsqueda Y frente a búsqueda O: lo contrario de lo que se espera

En Settings → Search (Ajustes → Búsqueda) puede elegir si, con varios términos, deben aparecer todos (Y) o basta con uno (O). Lo esperable sería que O siempre encontrara más. En realidad, los dos modos también se diferencian en cuántas palabras coincidentes tienen en cuenta3:

Búsqueda OBúsqueda Y
Palabras consideradassolo las 8 mejores en totaltodas las coincidentes, por término
Varios términosbasta con unodeben coincidir todos
Efecto con un solo términopuede perder productossuele encontrar bastante más

Un comerciante contó en el foro que al buscar «mull» (gasa) la búsqueda O encontró 34 artículos y la búsqueda Y, 846. Exactamente este efecto.

Consejo práctico: si sus clientes suelen escribir una sola palabra y tiene muchos nombres de producto compuestos, pruebe la búsqueda Y.

Por qué aparecen productos que no contienen la palabra

  • Campos invisibles: la palabra está en un campo buscable que la tienda no muestra, como etiquetas (tags), términos de búsqueda adicionales, nombres de categoría, propiedades o el fabricante.
  • Coincidencias por comodín: un patrón como stu… encaja con una palabra totalmente distinta en uno de esos campos.
  • Índice desactualizado: el diccionario se escribe al indexar. Tras cambiar productos o la configuración de búsqueda, vuelva a generar el índice de búsqueda.

Qué palabra encontró un producto lo puede ver en la búsqueda en vivo (Live search) en Settings → Search (Ajustes → Búsqueda), junto con los puntos de ranking.

Qué cambió en la 6.7.14 y qué no

  • 6.7.14.0: las notas de la versión mencionan una mejor puntuación cuando el término de búsqueda completo aparece como frase en el producto. Esto se aplica solo a la búsqueda con Elasticsearch/OpenSearch, no a la búsqueda estándar5.
  • Puntuación de variantes: hasta ahora se sumaban los puntos de todas las variantes de un producto, de modo que los productos con muchas variantes siempre quedaban arriba. Esto está corregido (pull request #19139)6 y, según Shopware, llegará con una de las próximas versiones. Cambia el orden, no qué productos se encuentran.

Así que la lógica de principio/final, el límite de 8 palabras y el comportamiento Y/O se mantienen.

Qué puede configurar

Sin programación, en Settings → Search (Ajustes → Búsqueda):

  1. Campos buscables y puntos de ranking: revise qué campos se buscan. Los campos invisibles con muchas palabras (descripciones largas, etiquetas) suelen causar coincidencias inesperadas.
  2. Búsqueda Y/O: pruebe ambas con sus términos de búsqueda más frecuentes.
  3. Longitud mínima del término: con 3, términos como «xl» se ignoran.
  4. Términos excluidos: palabras de relleno que solo generan ruido.
  5. Términos de búsqueda adicionales por producto: añada partes importantes de las palabras, p. ej. «handschuh» en «Arbeitshandschuhe». Es la palanca más eficaz contra el problema de las palabras compuestas, pero en catálogos grandes supone mucho mantenimiento.
  6. Vuelva a generar el índice de búsqueda después de cada cambio.

Con desarrollo: la lógica de patrones puede adaptarse mediante decoración de servicios (service decoration). Es una intervención en el flujo del núcleo que hay que revisar en cada actualización.

Cuando la búsqueda estándar llega a sus límites

Para catálogos pequeños con nombres de producto claros, la búsqueda estándar con un buen mantenimiento suele ser suficiente. Se complica con muchas palabras compuestas, términos técnicos, referencias de artículo y variantes. Entonces hay tres caminos:

  • Conectar Elasticsearch/OpenSearch y configurar uno mismo el análisis (p. ej. descomposición de palabras, n-gramas). Es potente, pero requiere conocimientos y operación.
  • Mantener términos de búsqueda de forma sistemática, p. ej. mediante importación. Ayuda, pero escala mal.
  • Usar una búsqueda especializada.

Esto último es lo que hacemos con Eywora: las palabras compuestas alemanas se dividen con ayuda de un diccionario y se reducen a su raíz, de modo que «handschuh» también encuentra «Arbeitshandschuhe». A eso se suman la búsqueda semántica para consultas en el lenguaje del cliente y un tratamiento propio de las referencias de artículo. Cuándo compensa el cambio y cuándo no lo hemos explicado con honestidad en Búsqueda estándar frente a búsqueda con IA. Por qué las búsquedas sin resultados salen tan caras lo contamos en El problema de las búsquedas sin resultados.

Fuentes

  1. Patrones y puntuación: ProductSearchTermInterpreter.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Content/Product/SearchKeyword/ProductSearchTermInterpreter.php ↩
  2. Consulta sobre palabras normales y al revés: KeywordLoader.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Content/Product/SearchKeyword/KeywordLoader.php ↩
  3. Filtro Y/O: ProductSearchBuilder.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Content/Product/SearchKeyword/ProductSearchBuilder.php ↩
  4. División en palabras: Tokenizer.php (Shopware 6.7.13.0) – https://github.com/shopware/shopware/blob/v6.7.13.0/src/Core/Framework/DataAbstractionLayer/Search/Term/Tokenizer.php ↩
  5. Notas de la versión 6.7.14.0, sección «Whole-phrase product-search matches rank higher» – https://github.com/shopware/shopware/blob/v6.7.14.0/RELEASE_INFO-6.7.md ↩
  6. Puntuación de variantes: Pull request #19139 – https://github.com/shopware/shopware/pull/19139 ↩

Metodología y fuentes

Las cifras mencionadas se basan en el análisis de registros de búsqueda de más de 50 tiendas B2B de industria, mayoristas y recambios (proyectos de Eywora y proyectos previos de signundsinn GmbH, periodo 2023-2026). Los valores de aumento de conversión son la media entre clientes de Eywora tras al menos 90 días en producción. Los tiempos de respuesta se miden como mediana P50. Los resultados de cada tienda pueden variar según el surtido, la calidad de los datos y el peso de la búsqueda.

Publicado el 1 de octubre de 2026 · Autor: Redacción Eywora

Leer más

Pequeños pendientes con forma de pato enfocados entre pendientes de lunas y estrellas desenfocados en un expositor

Práctica

Shopify eliminó los sinónimos: qué hacer ahora

Desde mediados de septiembre, la búsqueda de Shopify muestra productos poco relacionados y los sinónimos han desaparecido. Qué cambió, por qué y qué funciona sin app.

6 min de lectura

Pantalla con paneles de métricas y curvas de tendencia, entre ellos «CTR 14,65 %» y «Quality Score 9,38» con -0,1 %

Práctica

Antes / después: una búsqueda B2B modernizada en 14 días

Una tienda industrial con 280.000 artículos registraba un 38 % de búsquedas sin resultados y un 0,9 % de conversión en el tráfico de búsqueda. Dos semanas después: una diferencia medible. Así fue el cambio.

9 min de lectura

La cámara de un smartphone capta una chaqueta, junto a una cuadrícula de imágenes de productos visualmente similares

Búsqueda con IA

Una imagen dice más que un término de búsqueda

Una foto en lugar de un término de búsqueda: Google Lens procesa casi 20 000 millones de búsquedas visuales al mes. Qué significa para las tiendas online y cómo preparar ahora sus imágenes y datos de producto.

7 min de lectura

Todos los artículos →

¿Listo para ver cómo sería en su caso?

Demo con su catálogo.

30 minutos en directo sobre una tienda real de cliente. Verá la búsqueda de Eywora y los add-ons en acción y después hablamos de lo que usted necesita.