Enterprise Search
Minorista

Netshoes: Impulsando la búsqueda para una mejor experiencia de comercio electrónico

RESUMEN

  • 91M
    documentos almacenados en Elasticsearch
  • 500
    búsquedas por segundo
  • 6 veces
    mayor soporte de base de búsqueda

Mejores resultados de búsqueda

El uso de Elasticsearch ha proporcionado resultados de búsqueda a una velocidad mucho mayor. Netshoes ha podido adaptar tanto su infraestructura como su estructura de datos para soportar las masivas búsquedas concurrentes que se realizan en la plataforma.

Nueva plataforma de comercio electrónico

Para construir la nueva plataforma de comercio electrónico, se implementó Elasticsearch para brindar un soporte al volumen de transacciones operadas por las tiendas en la plataforma.

Participación de la consultoría de Elastic

El trabajo de Netshoes con los consultores de Elastic ayudó a incrementar la confianza, la disponibilidad y la seguridad de sus búsquedas. Como resultado, la plataforma ahora es escalable, segura y fácil de mantener.

Menor tiempo de operación

Los equipos de TI observaron que se requería menor tiempo para realizar las operaciones, lo que incrementó la disponibilidad de información y benefició el proceso de búsqueda.

Visión general de la empresa

Netshoes comenzó en el año 2000 y actualmente es la plataforma virtual de ventas de artículos deportivos más grande de Brasil, con centros de distribución en Argentina y México. Las operaciones internacionales comenzaron en 2011 y en 2017, Netshoes se convirtió en la primera empresa brasileña en cotizar en la Bolsa de Valores de Nueva York (New York Stock Exchange, NYSE). Netshoes es una compañía de plataforma múltiple que actualmente posee 32 plataformas de comercio electrónico y tiendas asociadas. Su dominio más grande, netshoes.com.br, tiene el tercer mayor tráfico de sitios web en Brasil y es la plataforma web en línea de equipos deportivos más grande del país. Cuando Netshoes comenzó a trabajar con Elastic, buscaba una plataforma de búsqueda que pudiera soportar un gran número de búsquedas de comercio electrónico, conectar varios países con sus tiendas y brindar los mejores resultados a los clientes.

El recorrido de Netshoes con Elastic

La administración de los 32 dominios de comercio electrónico

Netshoes es una plataforma de tienda múltiple que actualmente administra 32 dominios, como zattini.com.br y las tiendas asociadas saopaulomania.com.br y shoptimao.com.br. Su misión es inspirar y transformar las vidas de las personas mediante los deportes y el esparcimiento al proporcionarles una gran experiencia de compra a través de su innovadora plataforma en línea. A medida que experimentaba un crecimiento a mayor escala, Netshoes buscaba una plataforma que pudiera soportar un gran volumen de búsquedas, con una conexión directa con las regiones de América Latina. El equipo de Netshoes, liderado por Diego Peroni, inició la transición de la solución de búsqueda de la plataforma de comercio electrónico a Elasticsearch. Eligieron Elastic como su nueva solución tras descubrir su facilidad de configuración, al permitirles proporcionar de manera más rápida más resultados de búsqueda relevantes con una personalización más profunda y respaldar a la vez su misión de una satisfacción del cliente y rendimiento del sitio mejorados.

Elasticsearch nos permite desarrollar nuestra plataforma de comercio electrónico y simplificar todas las áreas. En la actualidad, tanto nuestras tiendas como las tiendas asociadas están conectadas por la plataforma, lo que garantiza una mayor precisión de búsquedas, ahorra tiempo e incrementa la fiabilidad de las búsquedas.

– Diego Peroni, Jefe de Desarrollo de TI en Netshoes.

Migración desde Endeca (Oracle ATG) al open source de Elasticsearch

Netshoes usó previamente Endeca, la función de búsqueda de Oracle ATG Web Commerce Search, para impulsar la búsqueda en su plataforma de comercio electrónico. Con Endeca, confiaron en una compañía externa para manejar las configuraciones y la funcionalidad de búsqueda. Sin embargo, era difícil encontrar al empleado correcto de Netshoes para completar las tareas con la compañía externa, y las correcciones a veces tardaban entre 12 y 24 horas.

Netshoes decidió alejarse de Endeca y construir su propia plataforma para eliminar la dependencia de proveedores externos. Netshoes logró esto al comenzar de cero con el Elastic Stack.

Netshoes tenía un plazo estricto para poner en marcha su plataforma impulsada por Elastic antes del Viernes Negro (Black Friday), el día de compras minoristas más grande de Brasil. Peroni y su equipo empezaron por indexar todo su catálogo de Netshoes, que contenía 89 millones de documentos. Luego, emigraron correctamente 31 de 32 dominios de comercio electrónico de Netshoes a la nueva plataforma impulsada por el Elastic Stack. El personal de TI observó una reducción significativa en los gastos y tiempos operativos en comparación con cuando usaban Endeca.

El siguiente paso era emigrar netshoes.com.br durante las siguientes tres semanas. Como su dominio web primario, experimentaba el tráfico web más alto (equivalente al resto de las 31 plataformas combinadas) y contenía 15 millones de documentos. Durante las pruebas de carga controladas, descubrieron que los clusters en su nueva plataforma no podían manejar el volumen de solicitudes de búsqueda esperadas en el Viernes Negro. Debido al tráfico alto del sitio y la falta de optimización, la plataforma de comercio electrónico de Netshoes no poseía la banda ancha necesaria para manejar más solicitudes de búsqueda.

Como plataforma multitienda, el personal de TI de Netshoes sabía que, si la nueva plataforma experimentaba problemas, esto afectaría todas las tiendas asociadas de la misma manera. Por ejemplo, si la plataforma no podía manejar todas las solicitudes de búsqueda, podía retrasar o incluso desplomar las 32 capacidades de búsqueda del sitio de Netshoes. “Netshoes opera completamente en línea, es por eso que necesitamos asegurar los mejores resultados de búsqueda a nuestros clientes”, explica Marcelo Vidu. La reducción de las capacidades de búsqueda sería un desastre para las ventas durante un día clave de compras minoristas. Netshoes sabía que tenía que abordar el soporte de los volúmenes de transacción de la tienda al adaptar plenamente tanto la infraestructura como la estructura de datos para soportar los volúmenes de búsqueda que se podrían llevar a cabo simultáneamente en la plataforma.

Asociación con Elastic Services para cumplir con los plazos de producción

Al reconocer que su plataforma actual Netshoes BR no podría manejar el tráfico web que esperaban en el Viernes Negro, contrataron a la Consultoría de Elastic no solo para ayudarlos con la producción, sino también para proporcionar las mejores prácticas para la optimización, las herramientas de monitorización y la actualización de los clusters de Elastic.

Comenzamos con la versión gratuita de Elasticsearch para proporcionar el soporte necesario a la nueva plataforma de comercio electrónico que desarrollamos, pero pronto emigramos a la versión de pago y contratamos el servicio de soporte de migración de tienda virtual.

– Valmir Justo, Gerente de Arquitectura de Soluciones en Netshoes

Los consultores de Elastic se presentaron para trabajar con los ingenieros de Netshoes en sus oficinas centrales en San Pablo, Brasil. Trabajaron en conjunto para adaptar la arquitectura existente, el modelo de datos y los tamaños de máquinas para administrar un tráfico mayor.

El equipo de Netshoes informó directamente todos los desarrollos y aprendizajes derivados del trabajo en conjunto con los consultores de Elastic durante la migración a Andre Petenussi, CTO de Netshoes, incluidas las métricas de rendimiento, la mejora en los resultados de búsqueda y la escalabilidad de administrar el tráfico de Netshoes.

Como un punto de inicio, se implementó Elasticsearch Rally para estandarizar las pruebas de rendimiento y observar las métricas de monitorización y los documentos indexados para la búsqueda. Al finalizar el período de pruebas y las observaciones, los consultores de Elastic ayudaron a implementar un nuevo cluster de POC y a indexar los datos de producción en este. Después, optimizaron los modelos de consulta de producción y los compararon con el cluster de POC como pruebas. Por último, basándose en los resultados de las pruebas, realizaron observaciones en busca de la mejor configuración para un nuevo cluster de producción.

Los consultores de Elastic sugirieron algunos puntos de mejora crítica con el fin de alcanzar el rendimiento necesario para el nuevo cluster de producción:

  1. Actualizar de la versión 2.4 de Elasticsearch a la versión 6.1 para mejorar el rendimiento de búsquedas
  2. Monitoreo de Elasticsearch desde la nube
  3. Eliminar la imprecisión entre las búsquedas en español y portugués

Para monitorizar desde la nube, Netshoes tuvo que actualizar su versión 2.4 de Elasticsearch a la versión 6.1 para poder usar las nuevas funciones de monitoreo incluidas en su suscripción platino. El plugin de monitoreo de Kibana le proporcionó a Netshoes una visibilidad sobre la latencia del cluster y el estado general, información que era importante para optimizar el rendimiento. El monitoreo del dashboard de Kibana también proporcionó métricas como la tasa de búsqueda y el número de índices y documentos. Adicionalmente, las actualizaciones de la versión 2.4 a la versión 6.1., que incluyen las últimas versiones de las funciones de Elastic, incrementaron considerablemente el rendimiento, la seguridad y la estabilidad.

Netshoes y los consultores de Netshoes también observaron que el uso en conjunto de los nodos Master e Ingest derivó en un mejor rendimiento, y que el mantenimiento de los nodos de datos en las máquinas dedicadas también lo mejoró. La ingesta de datos también se modificó. Entonces, cada vez que necesitaban indexar una gran cantidad de datos, se creaba un nuevo índice con un nombre único. Este nuevo enfoque ha mantenido al cluster más fiable y estable, y ha disminuido el tiempo de respuesta de las búsquedas de los clientes de Netshoes.

Sin la llegada de los consultores de Elastic al sitio, no estábamos seguros si podríamos alcanzar los rendimientos de producción que tenemos hoy en día.

– Marcelo Vidu, Gerente de infraestructura en Netshoes
Diagrama

Diagrama simplificado sobre cómo Elasticsearch, hosteado en Azure, impacta la experiencia de los clientes

Dashboard

Ejemplo del Dashboard de Kibana de Netshoes que los ayuda a monitorear el estado del cluster

Funciones desarrolladas para una experiencia más profunda del cliente

El ajuste de las búsquedas imprecisas también era una gran prioridad para Netshoes para proporcionar una gran experiencia al cliente en su sitio. Netshoes opera principalmente en tres jurisdicciones diferentes: Brasil, México y Argentina. Sin embargo, los índices para las tiendas en estas tres jurisdicciones se configuraron para usar su analizador de portugués brasileño personalizado ns_brazilian, a pesar de que México y Argentina son países que hablan mayormente en español. Esto pasó desapercibido hasta hace poco, debido a una relación cercana entre el portugués y el español. Los consultores de Elastic asesoraron sobre cómo resolver este problema a través del uso de modelos escalonados.

Los consultores de Elastic probaron el cluster de producción anterior y compararon las búsquedas con y sin imprecisión. Con “imprecisión”, se obtenía una gran cantidad de falsos positivos, definidos como: los documentos adicionales obtenidos por encima del número de resultados cuando se buscaba con la ortografía correcta. En comparación con “sin imprecisión”, se obtuvo el número preciso de documentos con la ortografía correcta. Las pruebas se realizaron con términos de búsqueda brasileños comúnmente mal escritos: “camiza” en vez de “camisa” y “camizeta” en vez de “camiseta”. Los consultores de Elastic recomendaron abordar la imprecisión a un factor de 1 ,lo que significa que, si se buscaba el término incorrecto, Elasticsearch produciría resultados alternativos relevantes con una letra diferente. Esto es extremadamente importante para la experiencia general de compra de comercio electrónico del cliente. Esto se debe a que los resultados relevantes se mostrarán para el comprador en línea que escribió incorrectamente una búsqueda. La alternativa sería obtener muchos resultados irrelevantes o ningún resultado para una búsqueda escrita incorrectamente.

Asimismo, los modelos de índice (Index Templates) en Elasticsearch tienen un parámetro de “orden” que contiene un valor entero para comparar contra los modelos conflictivos, con el valor más alto ganando el conflicto. Netshoes creó modelos escalonados y los configuró para usar un código de país de dos letras para cada nombre de índice ar, br, mx. También se crearon modelos de orden superior adecuados para aplicar configuraciones específicas de idiomas y a su vez un modelo de orden inferior para administrar las configuraciones de índice comunes a todos. Esta acción de tener en cuenta la ubicación geográfica ha ayudado en gran medida a aumentar la relevancia de búsqueda.

Ejemplo de arreglar búsquedas Fuzzy entre palabras comúnmente erróneas

Transición a la nube y planes futuros

En la actualidad, la nueva plataforma ha aumentado seis veces el soporte basado en la búsqueda, proporciona control de datos y soporta plenamente el volumen de búsquedas simultáneas realizadas en la plataforma de Netshoes en toda América Latina, incluidas sus tiendas asociadas. Después de emigrar a una plataforma basada en Elasticsearch, Netshoes ahora tiene tres desarrolladores dedicados a buscar, mejorar el proceso de soporte e incrementar la fiabilidad y la disponibilidad de búsqueda. En preparación para el Viernes Negro de 2018, se probó la nueva plataforma de Netshoes impulsada por el Elastic Stack para administrar seis veces más de tráfico web en comparación con 2017. Permitió una mejor experiencia de búsqueda y proporcionó una información de búsqueda completa a los clientes en 150 milisegundos.

La plataforma de Netshoes ahora está disponible para ofrecer al cliente la experiencia de compra de calidad que nuestra compañía se ha esforzado siempre por lograr. No solo para nuestro sitio primario, sino también para el resto de nuestros 32 dominios

– Diego Peroni, Jefe de Desarrollo de TI en Netshoes

Netshoes ejecutó inicialmente el Elastic Stack en sus instalaciones (on-premise), pero desde entonces emigró su negocio de comercio electrónico a la nube a través de Microsoft Azure. Gracias al monitoreo proporcionado por su suscripción platino, el equipo ahora puede enfocarse en tareas más importantes que pertenecen al negocio principal, además de desarrollar nuevas características en vez de manejar la infraestructura, el soporte y las operaciones. Con la ejecución de Elasticsearch en Azure, Netshoes ha podido hacer crecer y escalar su infraestructura más rápido que antes con un datacenter en las instalaciones.

“Los próximos pasos de Netshoes incluyen los procesos de simplificación, el incremento de la automatización y la reducción del tiempo de entrega de nuevas funcionalidades comerciales, así como el desarrollo de una plataforma más inteligente destinada a los clientes finales, todo impulsado por el Elastic Stack”, dice Vidu. Están planeando la actualización a Elasticsearch Service en 2019 para desarrollar una plataforma de logging centralizada.


Productos usados