Cómo configurar Elasticsearch en Magento 2

Publicado: 2022-12-20

Tabla de contenido

La plataforma Magento ha abierto una gran oportunidad para que los dueños de negocios lancen sus tiendas con menos limitaciones y mayor flexibilidad. Puede haber miles de productos en muchas categorías y subcategorías en una tienda y, por lo general, el tiempo que los clientes dedican a buscar los productos tiende a ser breve. Por lo tanto, su tienda Magento puede enfrentar una disminución en las conversiones si no puede brindarles a los clientes una experiencia de búsqueda fácil y resultados de búsqueda útiles en tiempo real. Esa es la razón por la que necesita un potente motor de búsqueda, y Magento 2 Elasticsearch viene al rescate.

¿Qué es Elasticsearch en Magento 2?

elasticsearch-logo

Según Elasticsearch BV, Elasticsearch es un motor de análisis y búsqueda distribuido, gratuito y abierto para todo tipo de datos, incluidos textuales, numéricos, geoespaciales, estructurados y no estructurados.

Lanzado por primera vez en 2010, Elasticsearch se basa en una biblioteca de búsqueda e indexación basada en Java llamada Apache Lucene. Es un motor de búsqueda de texto completo que sugiere palabras clave relacionadas y muestra consultas completas comparando palabras dentro del documento o base de datos. Además, su modelo distribuido y su apertura a todo tipo de datos hacen que sea rápido de buscar y fácil de escalar.

Debido a estas capacidades, Elasticsearch se ha utilizado en la búsqueda de aplicaciones; Búsqueda de sitios web; Búsqueda empresarial; Registro y análisis de registros; Supervisión del rendimiento de la aplicación; análisis y visualización de datos geoespaciales; Analítica empresarial, etc

Desde Magento 2.4, Adobe Commerce o Magento requieren que Elasticsearch sea el motor de búsqueda de catálogo predeterminado. Por lo tanto, se convierte en un componente obligatorio y no se puede deshabilitar al instalar Magento. Elasticsearch brinda a los clientes resultados de búsqueda más rápidos y relevantes en tiempo real, lo que aumenta la tasa de conversión comercial. Este es un gran beneficio tanto para los clientes como para los propietarios de tiendas Magento 2.

¿Cómo funciona Elasticsearch?

Lo que permite que Elasticsearch brinde resultados de búsqueda tan rápidos y confiables es su capacidad de indexación, en la que busca índices en lugar de examinar el texto. Un índice elástico es un grupo de documentos estructurados de manera similar que permite una recuperación de datos rápida y eficiente y se utiliza para almacenar documentos relacionados lógicamente.

Cuando los datos sin procesar fluyen hacia Elasticsearch desde varias fuentes, como registros, métricas del sistema y aplicaciones web, Elasticsearch los procesa. Luego, indexa estos datos y, después de eso, los usuarios pueden ejecutar búsquedas complicadas en los datos y recibir resúmenes detallados de sus datos mediante agregaciones. (Elastic.co)

estructura de búsqueda elástica
Fuente: thirdrocktechkno.com

Algunas de las características importantes de Elasticsearch:

  • Búsqueda rápida de texto
  • Sugerencias de búsqueda
  • Autocompletar
  • Revisión de ortografía/errores de escritura y detección de palabras vacías
  • Registro y análisis
  • Búsqueda de ubicación geográfica

Beneficios de Magento 2 Elasticsearch

Gran experiencia de búsqueda

Los tiempos de respuesta lentos y la funcionalidad deficiente de los motores de búsqueda pueden generar altas tasas de rebote. Con la rápida generación de resultados de Elasticsearch y los resultados relevantes en tiempo real, los clientes no se desanimarán y abandonarán el sitio.

Y gracias a la finalización automática y la sugerencia automática, los clientes pueden ahorrar mucho tiempo y esfuerzo, así como reducir las consultas incorrectas.

Además, una cosa irritante que los buscadores suelen enfrentar son los errores tipográficos o de ortografía. Esto lleva a que los motores de búsqueda no puedan reconocer las palabras clave y emitan un estado de "no se encontraron resultados". Elasticsearch puede encontrar palabras vacías y las frases que coinciden con ellas, por lo que aún puede brindar resultados relacionados e incluso hacerlos más precisos.

Búsqueda rápida

Elasticsearch es una poderosa herramienta que puede recuperar las palabras clave buscadas en menos de 10 segundos, mucho más rápido que la típica búsqueda basada en SQL. Como está construido sobre Lucene y utiliza índices invertidos distribuidos, Elasticsearch se desempeña excepcionalmente bien en la búsqueda de texto completo. ElasticSearch puede capturar todas las consultas de búsqueda para el conjunto de resultados, de modo que cada vez que una consulta de búsqueda contenga un filtro almacenado en caché, dirigirá la búsqueda del resultado desde el caché. Esto significa que el tiempo entre el momento en que se indexa un documento y el momento en que se puede buscar es relativamente breve, lo que aumenta la respuesta de los resultados de búsqueda.

Alta escalabilidad y grandes volúmenes de gestión de datos.

Elasticsearch se basa en una arquitectura distribuida. La empresa afirma que “los documentos almacenados en Elasticsearch se distribuyen en diferentes contenedores conocidos como fragmentos, que se duplican para proporcionar copias redundantes de los datos en caso de falla del hardware”. Por tanto, su naturaleza permite escalar hasta miles de servidores y gestionar enormes volúmenes de datos.

Además, está construido de manera que puede funcionar con éxito en cualquier clúster o sistema con numerosos nodos. Como resultado, la expansión de un solo clúster pequeño a uno más grande solo requiere poca preparación y es prácticamente transparente.

Sin esquema

Elasticsearch usa JSON, que es la notación de objetos de JavaScript. Almacena documentos JSON con datos de indexación para detectar la estructura de datos y los hace buscables. Significa que no requiere ningún tipo de definición de datos y normalmente usa valores predeterminados para indexar los datos, a menos que se proporcione un tipo de datos específico. Cuando un objeto con una nueva propiedad se indexa más adelante, las definiciones de asignación se actualizan automáticamente. Por lo tanto, es libre de esquemas.

Requisitos previos para configurar Elasticsearch

Como complemento necesario para la plataforma Magento, Elasticsearch debe instalarse y configurarse antes de que los usuarios actualicen a la versión 2.4.x. Además, los usuarios deben saber que Adobe ya no es compatible con Adobe Commerce 2.3.xy PHP 7.3. Por lo tanto, se recomienda actualizar a Adobe Commerce 2.4.x y PHP 7.4.x para preservar el cumplimiento de PCI.

adobe-commerce-note-on-versiones
Fuente: Adobe Commerce DevDocs

La secuencia de instalación actual de Magento 2.4.x requiere que los usuarios instalen Elasticsearch junto con estos requisitos adicionales:

  • Servidor web (Apache o Nginx)
  • mysql
  • PHP

La versión que solicita Magento para todas las instalaciones es Elasticsearch 7.6.x, por lo que los usuarios deben asegurarse de optar por esta versión. Algunas extensiones actuales de Magento 2 Elasticsearch de terceros pueden ayudarlo a integrar Elasticsearch en sus tiendas Magento.

Fácil configuración de Elasticsearch para tu tienda Magento

Aquí lo guiamos a través de los pasos para configurar Elasticsearch usando el Panel de administración de Magento 2.

Paso 1: Configuración de las opciones de búsqueda de Magento 2 Elasticsearch

1. Inicie sesión en su Panel de administración de Magento 2 como administrador.

Magento-admin-panel

2. Haga clic en Tiendas. En Ajustes, elija Configuración . Desde esta página, haga clic en la sección Catálogo para expandirla.

panel de configuración de magento

3. Seleccione Búsqueda de catálogo . Aquí puede ver todas las versiones del motor de búsqueda para seleccionar y otras configuraciones generales.

  • Longitud mínima de consulta : la cantidad mínima de caracteres que los usuarios deben ingresar antes de que aparezcan las recomendaciones o sugerencias de Elasticsearch. Y el valor predeterminado del sistema es 3.
  • Longitud máxima de consulta : el número máximo de caracteres a escribir para ver los resultados. El valor predeterminado del sistema es 128.
  • Número de resultados de búsqueda principales para el caché: aquí ingresa el número límite de resultados de búsqueda populares para mejorar la velocidad de respuesta. El valor predeterminado es 100. La segunda vez que se busca un término, envíe un "0" para almacenar en caché todos los resultados.
  • Habilitar o deshabilitar EAV Indexer: modifique este campo para aumentar la velocidad de indexación y evitar extensiones de terceros que utilicen el indexador.
  • Límite de autocompletar: establece el valor para limitar los resultados de búsqueda máximos que se muestran para el autocompletado de Magento 2 Elasticsearch. Esto ayuda a mejorar el rendimiento de la búsqueda y acorta la lista mostrada. La configuración predeterminada es 8.
configuración de búsqueda elástica general

Paso 2: Configuración de la conexión Magento 2 Elasticsearch

La siguiente tabla muestra las opciones requeridas para configurar y probar la conexión con Magento. Si no ajusta ninguna configuración y deja que funcionen los valores predeterminados, salte al siguiente paso.

Magento-2-elasticsearch-conexión-tabla-de-prueba
Fuente: Adobe Commerce DevDocs
Magento-2-elasticsearch-conexión-campos de prueba

Haga clic en Probar conexión para finalizar la configuración y la prueba.

Si la conexión no tiene éxito, intente las siguientes formas

  • Verifique que su servidor de Elasticsearch aún se esté ejecutando.
  • Inicie sesión en el servidor de Magento y haga ping al host de Elasticsearch si está en un host diferente al de Magento. Resuelva cualquier problema de conectividad de red y vuelva a probar su conexión.
  • Aborde cualquier rastro de pila y errores en la ventana de comandos donde inició Elasticsearch antes de continuar. Y asegúrese de haber iniciado Elasticsearch como usuario con acceso raíz.
  • Asegúrese de que el firewall de UNIX y SELinux estén apagados o habilite la comunicación entre Elasticsearch y Magento configurando reglas.
  • Garantice que el puerto seleccionado en el campo Puerto del servidor de Elasticsearch no esté siendo utilizado por otro proceso utilizando netstat -an | grep **listen-port** Comando netstat -an | grep **listen-port** .

Paso 3: configurar sugerencias y recomendaciones

Como se mencionó anteriormente, las recomendaciones y sugerencias de búsqueda de Magento 2 Elasticsearch son convenientes y útiles para los clientes que buscan productos adecuados.

Para esta etapa, puede utilizar la configuración predeterminada o realizar algunos cambios:

  • Habilite los campos Habilitar recomendaciones de búsqueda y Habilitar sugerencias de búsqueda .
  • Elija ofrecer cuántas recomendaciones y sugerencias de búsqueda en los campos Recuento de recomendaciones de búsqueda y Recuento de sugerencias de búsqueda.
  • Permita mostrar el número de resultados encontrados para cada recomendación y sugerencia o no en los campos Mostrar recuento de resultados para cada recomendación y Mostrar recuento de resultados para cada sugerencia .
  • Especifique un valor en Términos mínimos para coincidir para establecer la cantidad mínima de términos que los resultados de búsqueda deben coincidir para que los usuarios reciban los más relevantes.
Magento-2-elasticsearch-recomendación-sugerencia-configuración

Cuando termine de configurar, presione Guardar configuración .

Paso 4: reindexación de la búsqueda del catálogo y actualización de la memoria caché de la página completa

Después de cambiar la configuración de Magento 2 Elasticsearch, debe volver a indexar el índice de búsqueda del catálogo y recargar la memoria caché de la página completa. Hay dos formas de hacer esto: usando el administrador o la línea de comandos.

Utilizando la Panel de administrador:

  1. En Admin, haga clic en Sistema y vaya a Administración de caché.
  2. Marque la casilla de Caché de página .
  3. Seleccione Actualizar de la lista Acciones en la parte superior derecha de la página.
sección de gestión de caché

Para limpiar el caché, ejecute el comando magento cache:clean .

Usando la línea de comando:

  • Inicie sesión como propietario del sistema de archivos o cámbielo en su servidor Magento.
  • Para volver a indexar solo el índice de búsqueda del catálogo, ingrese:

bin/magento indexer:reindex catalogsearch_fulltext

  • Para volver a indexar todos los indexadores, ingrese:

bin/magento indexer:reindex

  • Espere a que se complete el proceso de reindexación.

Conclusión

Usado por nombres famosos como Netflix, LinkedIn, eBay, etc., se confía en Elasticsearch para hacer que las búsquedas en el sitio sean fáciles y efectivas para sus clientes. Una vez completada la configuración de Magento 2 Elasticsearch, tu tienda estará reforzada para convertir las búsquedas en ventas y minimizar el abandono del carrito.
¡Espero que esta publicación sea útil y le deseamos la mejor de las suertes en el comercio electrónico!