Introduzione
Da Magento 2.4 Elasticsearch e' un componente obbligatorio: gestisce ricerca catalogo, suggerimenti e filtri avanzati. Una configurazione non corretta degrada in modo evidente l'esperienza utente.
Versioni supportate
- Magento 2.4.3: Elasticsearch 7.10+
- Magento 2.4.4 - 2.4.5: Elasticsearch 7.16+
- Magento 2.4.6+: Elasticsearch 7.17 o 8.x, oppure OpenSearch 1.x/2.x
Installazione
Su Debian/Ubuntu il repository ufficiale Elastic permette installazione tramite apt. Su CentOS/RHEL utilizzare yum. Richiede Java OpenJDK 11 o 17. Allocare almeno 2 GB di RAM all'heap (-Xms2g -Xmx2g) nel file jvm.options.
Configurazione minima
In /etc/elasticsearch/elasticsearch.yml: cluster.name, node.name, network.host: 127.0.0.1, http.port: 9200, discovery.type: single-node (per ambienti standalone). Disabilitare X-Pack security in dev, attivarlo in produzione con TLS e password.
Setup in Magento
Da admin: Stores → Configuration → Catalog → Catalog Search. Scegliere Search Engine = Elasticsearch7 (o OpenSearch). Impostare Hostname, Port, Index Prefix, Username/Password se autenticato. Test Connection deve restituire successo.
Reindicizzazione
Dopo cambi di configurazione: php bin/magento indexer:reindex catalogsearch_fulltext. Verificare la presenza degli indici con curl http://localhost:9200/_cat/indices?v. Devono comparire indici tipo magento2_product_1_v1.
Troubleshooting comune
- "Could not perform action because Elasticsearch is not available": verificare servizio attivo, porta, IP, firewall.
- Indici incoerenti:
indexer:reset catalogsearch_fulltexte poi reindex. - Out of memory: aumentare heap a 4 GB e disabilitare swap.
- Search non aggiornato: cron e queue consumers vanno entrambi attivi.
Lingua italiana
Per ricerca ottimale in italiano abilitare l'analyzer italian: italian_stop, italian_keywords, italian_stemmer. Si configura via custom mapping o modulo Magento Snowball Stemmer.
Monitoraggio
Tool come Cerebro, ElasticHQ o Kibana permettono di monitorare cluster, indici e query lente. In produzione e' utile abilitare slow log per individuare query > 1 secondo.
Hai bisogno di aiuto?
Se vuoi un Magento ottimizzato dal team di G Tech Group, scrivici tramite il modulo di contatto.