Elasticsearch Search & Faceted Navigation. Este módulo sustituye la lenta búsqueda SQL de PrestaShop por un motor de búsqueda real, Elasticsearch, OpenSearch o Meilisearch, y añade una navegación por filtros moderna y totalmente configurable. Los clientes obtienen autocompletado instantáneo con miniaturas y precios, resultados tolerantes a errores tipográficos y una experiencia de “Filtros” clara en un moderno panel modal. Los precios son siempre los precios exactos y nativos para cada grupo de clientes y divisa. Puedes instalarlo y usarlo de inmediato con la búsqueda nativa de PrestaShop, y conectar un motor de búsqueda cuando quieras.

Este módulo sustituye la lenta búsqueda SQL de PrestaShop por un motor de búsqueda real, Elasticsearch, OpenSearch o Meilisearch: y añade una navegación por filtros moderna y totalmente configurable. Los clientes obtienen autocompletado instantáneo con miniaturas y precios, resultados tolerantes a errores tipográficos y una experiencia de “Filtros” clara en un moderno panel modal. Los precios son siempre los precios exactos y nativos para cada grupo de clientes y divisa. Puedes instalarlo y usarlo de inmediato con la búsqueda nativa de PrestaShop, y conectar un motor de búsqueda cuando quieras.

1. Instalación

  1. En el back office ve a Módulos → Gestor de módulos → Subir un módulo y selecciona el ZIP del módulo.
  2. Una vez instalado, haz clic en Configurar para abrir el panel del módulo.
  3. El módulo se instala en modo de motor “Ninguno” por defecto, de forma que la búsqueda sigue funcionando con el motor nativo de PrestaShop desde el primer minuto, no hay nada que configurar para ponerlo en marcha.
Las actualizaciones son automáticas. Las actualizaciones están incluidas. Los dominios de desarrollo (.local, .test, localhost) siempre están permitidos. Cuando hay una nueva versión disponible, se muestra directamente dentro del módulo.

2. Elegir un motor de búsqueda

Abre la pestaña Conexiones y elige tu Motor. Todo lo demás en el módulo se comunica con el motor a través de una única capa de abstracción, de modo que el front office se comporta igual sea cual sea el backend elegido.

Opciones de motor

  • Ninguno (nativo): sin motor externo. El módulo utiliza la búsqueda integrada de PrestaShop. Úsalo para instalar ahora y conectar un motor más adelante; la tienda nunca se queda sin una búsqueda funcional.
  • Elasticsearch: la opción predeterminada. Compatible con las versiones principales 6, 7, 8 y 9 con detección automática de versión.
  • OpenSearch: se detecta automáticamente y se gestiona como un clúster moderno sin tipos, sea cual sea su versión 1.x/2.x/3.x.
  • Meilisearch: una alternativa ligera y fácil de alojar; tus campos indexables, filtros, sinónimos, palabras vacías y tolerancia a errores tipográficos se mapean a Meilisearch automáticamente.

Ajustes de conexión

  • Host: la URL completa de tu motor (puede incluir un prefijo de ruta, por ejemplo https://cluster.provider.com/my-space).
  • Ruta base: un prefijo de ruta opcional que se antepone a cada petición, para espacios de búsqueda alquilados en instancias compartidas.
  • Prefijo de índice: un espacio de nombres que aísla tus índices, de modo que varias tiendas puedan compartir un mismo motor de forma segura.
  • Autenticación: para Elasticsearch/OpenSearch: HTTP Basic o clave API; para Meilisearch: una clave Bearer maestra o restringida.
  • Probar conexión: comprueba que el motor es accesible y muestra la versión detectada.
Connections tab
Conexiones: elige el motor (incluido “Ninguno”), añade uno o varios servidores, prueba la conexión y define un prefijo de índice
Reindexa después de cambiar de motor (o tras modificar los ajustes del analizador). El back office te avisa cuando es necesaria una reindexación. Hasta que el nuevo motor esté indexado, el sistema de reserva automático sigue ofreciendo resultados.

3. Comportamiento de la búsqueda

Sustituir la búsqueda del sitio

Activa Sustituir la búsqueda del sitio para que cada búsqueda y listado de categoría sea servido por el motor a través del proveedor nativo de productos de PrestaShop, sin tocar la plantilla. Si el motor deja de estar disponible en algún momento, el módulo vuelve automáticamente a la búsqueda nativa para que la tienda nunca muestre un error. Si ps_facetedsearch sigue activo, el back office te avisa, ya que normalmente solo debe haber un módulo de filtros en funcionamiento.

Relevancia y ajuste fino

El panel de ajustes de búsqueda te permite dar forma a la relevancia sin tocar código:

  • Pesos de campo: cuánto cuentan el nombre, la referencia, la descripción, etc. en la puntuación.
  • Tipo de coincidencia y operador: la estrategia multi_match y si las palabras se combinan con AND u OR.
  • Tolerancia a errores y coincidencia mínima: cuán permisiva es la tolerancia a errores tipográficos y cuántas palabras deben coincidir.
  • Longitud mínima de palabra y el alcance de los campos indexables por tipo de documento.
  • Análisis de idioma: sinónimos, palabras vacías, lematizador por idioma (con exclusiones), elisión, minúsculas y coincidencia por n-gramas (infijo) para palabras parciales.
Search settings tab
Ajustes de búsqueda: interruptores principales, filtros del analizador (sinónimos, palabras vacías, lematizador) y ajuste fino de la consulta

4. Navegación por filtros

La navegación por filtros es una experiencia moderna por AJAX, sin recargas de página, con un modo de barra lateral clásica disponible como alternativa (opción Interfaz de filtros: modal o barra lateral).

El moderno panel de filtros modal

  • Encima de la cuadrícula de productos hay un botón “Filtros”, el número de resultados en vivo y chips eliminables para cada valor aplicado (“Borrar todo” los elimina todos).
  • Al hacer clic en Filtros se abre un modal de dos paneles: los nombres de los filtros a la izquierda (con una insignia cuando un filtro está en uso), los valores del filtro seleccionado a la derecha, y un botón en vivo “Mostrar N resultados” en el pie.
  • Los filtros con muchos valores se agrupan de A a Z con un cuadro de “buscar dentro de este filtro”; los colores se muestran como muestras de color; el precio muestra campos de mínimo/máximo más un control deslizante de doble extremo.
  • En móvil el modal ocupa toda la pantalla: toca el nombre de un filtro para ver sus valores, usa la flecha atrás para volver, y confirma con una barra fija inferior “Mostrar N resultados”.
  • Todo se actualiza por AJAX con URLs que se pueden compartir (los botones atrás/adelante funcionan), y existe una alternativa sin JavaScript porque cada control es un control de formulario real.

Configurar cada filtro

Para cada filtro puedes controlar: activado/desactivado, orden, etiqueta por idioma, tipo de visualización (casilla, botón de opción, desplegable, muestra de color, control deslizante de precio, valoración por estrellas o lista con buscador), modo AND/OR, si se muestran los recuentos, el estado plegado, un límite de valores con “ver más”, y ocultar si está vacío. Fuentes disponibles: categorías, marcas, características, atributos, precio, disponibilidad, novedad, en oferta y estado. Los filtros también pueden mostrarse en la página de resultados de búsqueda, no solo en las categorías.

Facets tab
Filtros: activa, ordena, etiqueta y da estilo a cada filtro (casilla, muestra de color, control deslizante de precio, valoración por estrellas…) con AND/OR, recuentos y límites

Plantillas de filtros por categoría Filters Pro

Una plantilla de filtros es una configuración de filtros con nombre y reutilizable que puedes asignar a una o varias categorías, de modo que distintas categorías puedan mostrar un conjunto de filtros diferente y reordenado. En la pestaña Plantillas de filtros creas una plantilla con el mismo editor de filtros que la configuración global, además de un árbol de categorías y una opción de “aplicar también a las subcategorías”. La configuración global de Filtros es la plantilla predeterminada: la opción de reserva para cualquier categoría sin plantilla propia, y para la página de búsqueda.

Filter templates tab
Plantillas de filtros: asigna un conjunto de filtros distinto y reordenado a categorías específicas; la fila Predeterminada es la opción de reserva global

5. Autocompletado

Mientras el cliente escribe, el módulo sugiere productos, categorías, marcas y páginas CMS: cada uno etiquetado por tipo, con miniaturas de producto y el precio nativo correcto, y con tolerancia a errores tipográficos para que los pequeños fallos sigan encontrando coincidencias. Hay dos presentaciones disponibles (Estilo de autocompletado en Salida):

  • Desplegable: un panel de sugerencias que se abre debajo de la barra de búsqueda. El estilo clásico y compacto.
  • Superposición de búsqueda a pantalla completa: una gran barra de búsqueda fija con resultados a pantalla completa, para una experiencia más audaz centrada en la búsqueda.
Output tab
Salida: opciones de resultados y listado, campos de la ficha de producto y el estilo de Autocompletado (desplegable o superposición a pantalla completa)

6. Precios correctos

Precios correctos por grupo y divisa

El precio que ve un cliente es siempre el precio nativo de PrestaShop. Los precios se indexan por grupo de clientes × divisa, tienen en cuenta specific_price y el impuesto por país, y el valor correcto se elige en el momento de la consulta. Esto significa que el filtro de precio opcional y la ordenación por precio son precisos para cada comprador, un grupo mayorista y un grupo minorista ven y ordenan cada uno según sus propios precios.

Precios personales para B2B Avanzado

En la pestaña Avanzado puedes activar los precios personales. Para clientes B2B que tienen una lista de precios individual (un specific_price asignado al cliente), la ordenación y el filtrado por precio pueden usar su precio personal exacto en lugar del precio de grupo. Un límite configurable (fijo, o automático según el espacio en disco libre del motor) controla para cuántos clientes se precalcula esto, y puede mostrarse un aviso opcional por idioma a esos compradores.

Advanced tab
Avanzado: activa los precios personales (por cliente) para la ordenación y el filtrado B2B, con un límite configurable

7. Páginas SEO de filtros

Las combinaciones infinitas de filtros inundarían a Google, así que por defecto cada URL filtrada se sirve como noindex,follow. La pestaña Páginas SEO de filtros te permite hacer lo contrario para las combinaciones que importan: incluir en una lista blanca una selección concreta (por ejemplo categoría + marca + color) como página de destino indexable con un título meta, descripción meta, H1 y texto introductorio personalizados por idioma.

  • Una página coincidente se fuerza a index y recibe un canonical autorreferenciado hacia la URL filtrada, de modo que realmente puede posicionarse.
  • Tu H1 y tu introducción personalizados se muestran encima del listado de productos.
  • El resto de combinaciones filtradas permanecen como noindex,follow.
  • El listado del back office muestra la URL en vivo de cada página, lista para enviar o enlazar.
SEO filter pages tab
Páginas SEO de filtros: incluye en lista blanca una combinación de filtros como página de destino indexable con título, descripción, H1 e introducción personalizados
Si otro módulo SEO también emite un canonical en las URLs filtradas, pueden aparecer ambos. Desactiva el canonical de ese módulo para los listados filtrados, de modo que solo quede el nuestro (la URL propia correcta).

8. Analítica de búsqueda

La pestaña Analítica de búsqueda muestra lo que los clientes buscan realmente, registrado a partir de páginas de resultados reales, nunca de las pulsaciones del autocompletado, y almacenando solo el texto de la consulta (sin datos personales). Elige un rango de fechas (últimos 7 / 30 / 90 días) y consulta los KPI (búsquedas totales, consultas únicas, número y porcentaje de resultados vacíos), una tabla de Búsquedas más frecuentes y, sobre todo, una tabla de Búsquedas sin resultados: las búsquedas que no encontraron nada, es decir, ventas perdidas. Cada fila sin resultados tiene un atajo de un clic “Añadir sinónimo” para poder solucionarlo al instante. El registro se puede desactivar y las filas antiguas se eliminan automáticamente tras un periodo de retención configurable.

Search analytics tab
Analítica de búsqueda: KPI, Búsquedas más frecuentes y la tabla de Búsquedas sin resultados con un atajo de un clic “Añadir sinónimo”

9. Reindexación y cron

El motor necesita un índice de tu catálogo. El módulo indexa productos, categorías, marcas y páginas CMS, cada uno en su propio índice, y los mantiene actualizados en tiempo real a medida que guardas, añades o eliminas productos y cambia el stock.

  • Asistente de reindexación: una reindexación guiada, por lotes y reanudable, con barra de progreso. Ejecútala tras la primera conexión al motor, tras cambiar de motor o tras modificar los ajustes del analizador.
  • URL de cron: una URL protegida por token que puedes invocar desde una tarea programada (o CLI) para mantener el índice actualizado automáticamente; también elimina las filas de analítica antiguas.
  • Eliminar datos indexados: borra los índices del motor cuando quieras una reconstrucción limpia.
Documents tab
Documentos: elige qué tipos de documento se indexan (productos, categorías, marcas, CMS) y los campos indexables por tipo

10. Multitienda y hosting compartido

Multitienda

Los ajustes de conexión y de motor son por tienda. En un contexto “todas las tiendas” se guardan de forma global; en un contexto de una sola tienda se guardan para esa tienda, con una opción de reserva global. Esto significa que tiendas distintas pueden apuntar a motores o clústeres diferentes, mientras que una instalación de tienda única se comporta exactamente igual que antes.

Hosting compartido / espacio de búsqueda alquilado

No necesitas tu propio clúster dedicado. Apunta el Host a un endpoint compartido con un prefijo de ruta, configura la Ruta base y un Prefijo de índice (espacio de nombres), y añade la clave API del proveedor. Cada petición queda restringida a tu prefijo, de modo que tus datos permanecen aislados en una instancia compartida, y funciona igual en Elasticsearch, OpenSearch y Meilisearch.

11. Preguntas frecuentes

¿Necesito Elasticsearch para empezar?

No. El módulo se instala en modo “Ninguno” y utiliza la búsqueda nativa de PrestaShop, de modo que estás operativo de inmediato. Conecta Elasticsearch, OpenSearch o Meilisearch cuando estés listo.

¿Qué ocurre si mi motor de búsqueda se cae?

El módulo vuelve automáticamente a la búsqueda nativa, de modo que los clientes siempre pueden buscar, la tienda nunca muestra un error.

¿Son correctos los precios que ven los clientes?

Sí. El precio mostrado es siempre el precio nativo de PrestaShop. El motor solo se utiliza para filtrar y ordenar, usando precios indexados por grupo de clientes y divisa (y, opcionalmente, el precio personal de cada cliente B2B).

¿Entrará en conflicto con ps_facetedsearch?

Normalmente solo debe haber un módulo de filtros activo. El back office te avisa si ps_facetedsearch sigue activado para que puedas desactivarlo.

¿Pueden mostrar filtros distintos categorías diferentes?

Sí. Crea plantillas de filtros y asígnalas a categorías (incluyendo opcionalmente las subcategorías). Las categorías sin plantilla usan la predeterminada global.

¿Qué motor debería elegir?

Elasticsearch es la opción predeterminada y más habitual. OpenSearch es un equivalente directo. Meilisearch es el más ligero de alojar y encaja muy bien en hosting compartido o catálogos más pequeños.

Loading...
Back to top