Findalo

PrestaShop

Por qué reconstruir el índice no arregla el buscador de PrestaShop

· 8 min de lectura · Por Ray Rodríguez, founder de Findalo

Si has buscado por qué el buscador de tu PrestaShop no encuentra un producto, ya te habrás topado con la respuesta de siempre: reconstruye el índice. Configurar → Parámetros de la tienda → Búsqueda → «Añadir los productos que faltan al índice», o el botón de reconstruirlo entero.

A veces funciona. La mayoría de las veces no, y entonces te quedas sin saber qué mirar. Este post explica qué hace exactamente esa reconstrucción, qué cosas no toca por mucho que la repitas, y cuáles de ellas puedes arreglar tú mismo esta tarde sin contratar nada.

Todo lo que sigue está mirado en el código de PrestaShop 8, no en un foro de 2017.

Qué hace reconstruir el índice

PrestaShop no busca sobre tus productos. Busca sobre un índice de palabras: dos tablas, una con cada palabra distinta de tu catálogo y otra que la conecta con los productos donde aparece, con un peso.

Reconstruir el índice es rehacer esas dos tablas leyendo tu catálogo. Nada más. Y de tu catálogo solo lee los campos que tienen peso mayor que cero: nombre, referencias, descripción corta, descripción larga, categoría, marca, etiquetas, atributos y características.

Esto ya explica el primer caso frustrante. Si el peso de la descripción larga está a cero, esa descripción no está en el índice, y reconstruirlo mil veces la va a seguir dejando fuera. No es que el índice esté desactualizado: es que ese texto nunca fue candidato.

Y de paso, un mito: no, no es un OR

Circula mucho que la búsqueda nativa devuelve todo lo que contenga cualquiera de tus palabras. Buscas Funko Ash y te salen todos los Funko y todos los Ash.

En PrestaShop 8 eso no es así. El buscador resuelve palabra por palabra y va cruzando los resultados: si buscas «coche rojo», te quedan los productos que tienen «coche» y «rojo». Es tan conocido que el propio código lleva un comentario advirtiendo de que alguien rompió esa intersección en el pasado y de que no se vuelva a romper.

Si en tu tienda parece un OR, el problema es otro, y suele ser el que viene ahora.

Las cinco cosas que reconstruir el índice no arregla

1. La visibilidad del producto

El índice solo admite productos activos y con visibilidad «Todas partes» o «Solo búsqueda». Un producto puesto en «Solo catálogo» no va a salir jamás en el buscador, y no hay reconstrucción que lo cambie.

Es la causa número uno de «este producto existe y no aparece». Se ve en la pestaña Opciones de la ficha del producto, y se puede cambiar en masa desde el listado.

2. La longitud mínima de palabra

Hay un ajuste, en la misma pantalla de Búsqueda, que descarta las palabras más cortas que X caracteres. Se aplica antes de tocar el índice: esas palabras se tiran, no se buscan.

Si lo tienes en 3, una búsqueda de TV no busca nada. Una de kit 4 busca solo «kit». Y si alguien escribe únicamente palabras cortas, el buscador no devuelve cero resultados por falta de coincidencias: devuelve cero porque se quedó sin nada que buscar.

Bajarlo a 2 arregla una cantidad sorprendente de casos. Tiene coste: el índice crece y entran palabras poco útiles.

3. La lista de palabras ignoradas

Al lado del ajuste anterior hay una lista de palabras que se descartan siempre. Viene con preposiciones y artículos, que está bien, pero conviene mirarla: si tu catálogo es técnico, es fácil que ahí dentro haya una palabra que para ti significa algo.

4. Que una palabra desconocida no da cero resultados: se cae

Esta es la que más confunde, y casi nadie la cuenta.

Cuando buscas varias palabras, PrestaShop resuelve cada una contra el índice. Si una no aparece —ni tal cual, ni con la corrección aproximada— esa palabra se descarta y la búsqueda sigue con las demás.

El efecto práctico: alguien busca zapatillas running talla 43, «43» no está indexado, y en vez de decir «no tengo nada así» le devuelves todas tus zapatillas de running. El cliente ve un montón de resultados, ninguno es lo que pidió, y concluye que tu buscador no funciona. Tú miras tu panel y ves una búsqueda con resultados, así que no te enteras de nada.

Es peor que un cero resultados, porque el cero al menos se mide.

5. Que la tolerancia a erratas se agota a mitad de frase

PrestaShop tiene corrección aproximada: si una palabra no está, busca la más parecida del índice. Pero tiene un presupuesto de intentos para toda la consulta, no por palabra, y se va gastando conforme avanza.

La consecuencia es rara de ver y fácil de reproducir: en una búsqueda de varias palabras, las primeras se corrigen y las últimas ya no, porque el presupuesto se agotó antes de llegar. La misma errata perdona al principio de la frase y no perdona al final.

Entonces, ¿cuándo sí hay que reconstruir?

Para que quede claro que no es inútil. Reconstruir el índice es exactamente lo que toca cuando:

  • Has cambiado los pesos de los campos. El índice viejo se construyó con los pesos viejos.
  • Has añadido un idioma.
  • Has importado productos con la indexación automática apagada, o has tocado la base de datos por fuera.
  • Migraste de versión o de servidor y las tablas del índice se quedaron a medias.

En una tienda grande la reconstrucción va por lotes y puede tardar. Si se corta a medias, el índice queda parcial, y ahí sí tiene sentido repetirla.

La revisión de diez minutos

Si te quedas solo con una parte de este post, que sea esta. En orden, y sin instalar nada:

  1. Coge un producto que no aparezca y mira su visibilidad. Si pone «Solo catálogo», ya lo tienes.
  2. Mira los pesos en Parámetros de la tienda → Búsqueda. Si la referencia está a cero y tus clientes buscan por referencia, súbela. Si la descripción larga está a cero y ahí tienes la información buena, decide si la quieres dentro.
  3. Baja la longitud mínima de palabra a 2 y reconstruye. Vuelve a probar las búsquedas que fallaban.
  4. Lee la lista de palabras ignoradas y quita lo que en tu catálogo signifique algo.
  5. Prueba una búsqueda de tres palabras donde la última sea muy específica. Si te devuelve muchos resultados y ninguno la respeta, acabas de ver el punto 4 en directo.

Con esto se arregla más de lo que parece. De verdad: hazlo antes de gastarte un euro.

Lo que no se arregla configurando

Y ahora la parte honesta, que es donde entramos nosotros.

Hay cosas que no dependen de ningún ajuste porque el índice de palabras no da para más. Buscar por significado y no por palabra, de forma que «algo para la piel sensible» encuentre productos que no contienen ninguna de esas palabras. Entender que una referencia con guiones, ceros a la izquierda o sufijo de variante es la misma que la que escribe el cliente. Ordenar los resultados por lo que de verdad se vende y no por un peso fijo que pusiste una vez. Enseñar resultados mientras se teclea. Y saber qué se buscó y no se encontró, que es la única lista que te dice qué te falta.

Eso es otra categoría de producto, y cuesta dinero. Nuestro plan de entrada son 15 € al mes, y hay un mes de prueba sin coste para verlo con tu catálogo antes de decidir.

Pero si has llegado hasta aquí desde un buscador, lo más probable es que lo que tengas sea uno de los cinco problemas de arriba. Arréglalo primero. Si después sigue sin encontrar lo que tus clientes escriben, ya hablamos.

Cómo funciona Findalo en PrestaShop · Escríbenos si quieres que lo miremos con tu catálogo.

Sigue leyendo