Buenas tardes,
Tengo un problema con el buscador de mi tienda de Prestashop. Tengo reconstruido el índice, pero cada x tiempo busco un producto que antes aparecía y deja de encontrarlo, entonces tengo que estar continuamente reconstruyendo el índice para que el buscador funcione. ¿Puede haber algún problema o esto funciona así? Entiendo que para los productos nuevos si tenga que reconstruir el índice, pero para los antiguos...
Por otro lado, el asistente virtual Stephan me dice que ps_search_index... tiene 289631 registros en la Base de Datos: regalosm_2312
¿Cada vez que reconstruyo este índice se añaden registros dobles en esta tabla o borran los registros y se vuelve a añadir?
Tenemos una multitienda con 4 tiendas.
Agradezco su respuesta.
Muchas gracias.
Un saludo.
URL del sitio: Contenido solo visible a usuarios registrados
Hola Mario.
Las búsquedas de productos en prestashop funcionan de una forma particular: en lugar de realizar esa búsqueda de forma directa en las tablas que guardan los datos de los productos, genera un índice de palabras intentando de esa manera que las búsquedas sean más rápidas y eficientes.
La tabla ps_search_index es una de las 2 tablas donde se almacenan esos valores para generar el índice de búsqueda. No se genera un registro por productos, sino que pueden ser varios en función de la longitud del títulos, descripción, etc.
Si en la tienda tienes muchos productos tendrás una tabla ps_search_index muy grande, lo que no significa que tenga que generar ningún tipo de problema.
Puedes reconstruir el índice, pulsando en el enlace Reconstruir el índice completo que hay en Preferencias->Buscar, pero esto no tendría que suponer que la nueva tabla generada sea más pequeña, además de que puede tardar bastante en generarse dependiendo de los productos.
¿Cada vez que reconstruyo este índice se añaden registros dobles en esta tabla o borran los registros y se vuelve a añadir?
Cuando reconstruye la búsqueda se generan nuevos registros eliminado los anteriores, es posible que si editas algunos productos y realizas alguna modificación este tenga que volver a añadirse y por eso puede que algunos te desaparezcan.
Puedes crear una tarea cron para que se auto regeneren las búsquedas cada cierto tiempo desde tu cuenta de Cpanel -> Avanzado -> Trabajos de cron
https://guias.webempresa.com/preguntas-frecuentes/crear-tareas-programadas-tareas-cron-cpanel/
Basicamente seria copiar el codigo que te proporciona el propio PS para esa tarea
Es cierto que prestashop realiza esta tarea automáticamente pero suele fallar bastante y al final toca realizarlo manualmente.
Un saludo
Buenas tardes Pepe,
Muchas gracias por la respuesta y aclaración. Sólo tengo una duda más, en la tarea del cron, ¿pondría el enlace que me aparece cuando hago clic en todas las tiendas o tengo que hacer una tarea cron para cada tienda? ¿Esto podría ralentizar la página? Muchas gracias.
Un saludo.
Hola
Puedes comprobar si la url para la tarea cron es la misma, si es diferente tendrías que evaluar hacer tareas cron diferentes.
Si que tendrás un consumo de CPU cuando se ejectute el cron por lo que te recomiendo programarlo en una hora/dia en el que tu tienda tenga menos tráfico.
Saludos.