Aprende cómo resolver este aviso de obsolescencia en Magento 2, configurando Elasticsearch en Ubuntu 19.04.

Cómo solucionar el aviso de obsolescencia de Magento 2: la búsqueda de catálogo está configurada actualmente para utilizar el motor MySQL, que ha quedado obsoleto. Considere migrar a uno de los motores Elasticsearch en Ubuntu 19.04

Esta desaprobación le advierte sobre el uso de la versión MySQL del motor de búsqueda utilizado en el catálogo de productos de Magento. En Magento 2, se recomienda que la búsqueda elástica sea la predeterminada. El uso de Elasticsearch como motor de búsqueda para el catalong Magento 2 trae los siguientes beneficios:

  • Búsquedas rápidas y avanzadas de productos del catálogo.
  • Soporte para múltiples idiomas.
  • Soporte para palabras vacías y sinónimos.
  • La indexación no afecta a los clientes hasta que se completa la reindexación. Elasticsearch devuelve resultados de búsqueda basados ​​en el último índice generado hasta que el nuevo se haya indexado por completo para que no haya interrupciones para los clientes.
  • Preciso, eficiente y escalable.
  • Funciona bien fuera de la caja.
  • Fácil de escalar horizontalmente.
  • Admite análisis y datos en tiempo real.
  • Se puede utilizar como almacén de datos orientado a documentos.
  • Aplicaciones en un marco más allá de la búsqueda, incluidos informes, personalización, rendimiento y almacenamiento.

Elasticsearch le permitirá mejorar los resultados de búsqueda predeterminados de Magento, mejorando la relevancia de los productos que aparecerán en la búsqueda. Por lo tanto, es imprescindible actualizar desde el motor de búsqueda predeterminado (basado en MySQL) a la implementación de Elastic Search. Hacer esto eliminará la advertencia mencionada de su panel de administración de Magento.

En este artículo, le explicaremos cómo resolver esta obsolescencia moviendo su motor de búsqueda predeterminado de MySQL a Elastic Search fácilmente en Ubuntu 19.04.

1. Instalar Java (JRE y JDK)

Como primer requisito para resolver este problema, deberá instalar Java en su máquina. Puede verificar si ya está instalado escribiendo java -version en su terminal. Si genera la versión de Java, entonces obviamente ya está instalada. Sin embargo, si no se reconoce el comando, deberá instalarlo. Proceda a instalar la actualización como primero los repositorios con:

sudo apt-get update

Luego, instala el paquete apt-transport-https con el siguiente comando:

sudo apt-get apt-transport-https

Este paquete permite el uso de las lines 'deb https://foo distro main' en /etc/apt/sources.list para que todos los administradores de paquetes que utilicen la biblioteca libapt-pkg puedan acceder a metadatos y paquetes disponibles en fuentes accesibles a través de https (Protocolo seguro de transferencia de hipertexto). Ahora que puede descargar paquetes a través de HTTPS, instale Java Development Kit con el siguiente comando:

sudo apt-get install openjdk-8-jdk

Esto instalará el JRE junto. Después de instalar Java, podrás imprimir la versión de OpenJDK instalada con:

java -version

El comando debería imprimir la versión de las herramientas en la terminal:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.19.04.2-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

Ahora que tenemos Java, podemos proceder con la instalación de Elasticsearch.

2. Instale Elasticsearch

Elasticsearch es un motor de búsqueda de nivel empresarial de código abierto y fácilmente escalable. Elasticsearch, accesible a través de una API extensa y elaborada, puede impulsar búsquedas extremadamente rápidas que respaldan sus aplicaciones de descubrimiento de datos. Es bastante fácil comenzar con la instalación en Ubuntu, ya que primero agregue la clave GPG de elasticsearch en su máquina con el siguiente comando:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Luego, agrega el repositorio de búsqueda elástica a sources.list de su sistema con:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Puede cambiar el 6.x con 5.x si tiene algún problema con Magento 2, sin embargo, la última versión funciona bastante bien.

Y finalmente instala Elastic Search con el siguiente comando:

sudo apt-get install elasticsearch

El tamaño del paquete en este caso con Elasticsearch 6 es de ~ 350 MB, por lo que la descarga tardará un poco. Una vez que termine, continúa con el siguiente paso.

3. Configurar el servicio Elasticsearch

De forma predeterminada, Elasticsearch no se instala como un servicio, por lo que deberá habilitarlo como un servicio con el siguiente comando:

sudo systemctl enable elasticsearch.service

Luego, inicie el servicio con el siguiente comando:

sudo systemctl start elasticsearch.service

Esto será suficiente para que elasticsearch funcione correctamente. Puedes conocer el estado del servicio con el siguiente comando:

sudo systemctl status elasticsearch

Ahora que el servicio Elasticsearch está disponible, necesitará saber si funciona o no.

4. Pruebe si Elasticsearch está funcionando

Para probar si Elasticsearch está funcionando, solo necesitará ejecutar una solicitud GET básica en el puerto 9200 de localhost. Puedes hacer esto con CURL, en caso de que no tengas Curl instalado, instálalo con el siguiente comando:

sudo apt-get install curl

Luego, ejecute la solicitud en la terminal:

curl -X GET "localhost:9200/"

Verá la siguiente salida en su terminal:

{
  "name" : "ourcodeworld",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Gate_3X_3X_3X_3X_3X_3X",
  "version" : {
    "number" : "7.2.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "508c38a",
    "build_date" : "2019-06-20T15:54:18.811730Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

¡Esto significa que Elastic Search está funcionando correctamente!

5. Utilice Elasticsearch como motor de búsqueda

Finalmente, luego de haber configurado casi todo el aspecto técnico, debes definir en tu panel de administración de Magento que se debe usar el motor Elasticsearch en lugar de MySQL. Para esto, vaya a Tiendas , luego haga clic en Configuración , busque Catálogo y en el menú vaya a Búsqueda de Catálogo . En este formulario, elija Elasticsearch 6.0+ como motor de búsqueda predeterminado y haga clic en el botón Probar conexión:

Set Elasticsearch +6 Search Engine Catalog Magento 2

Si el botón muestra "¡Correcto!", Todo se ha configurado como se esperaba. No olvide guardar también la configuración. Hecho esto en el panel de administración, solo necesitarás borrar el caché de tu tienda con la línea de comando, una vez que te encuentres en el directorio raíz de la aplicación:

php bin/magento cache:clean

Y luego, actualice sus índices con:

php bin/magento indexer:reindex

La ejecución de las acciones mencionadas en su servidor generará algo como lo siguiente en la terminal:

Magento Cache Clear - Reindex Elasticsearch

Y eso es ! Ahora está utilizando Elastic Search como motor de búsqueda y la advertencia ya no debería aparecer (después de marcarla como marcada).

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores