Elasticsearch

Ce este elasticsearch?

Elasticsearch este un motor de căutare open source (gratuit) bazat pe librăria Lucene , aparținând celor de la Apache și dezvoltat în Java. Creatorul motorului, Shay Banon, a dezvoltat versiunea inițială în 2004, denumind-o Compas, însă, în 2010, dorind să creeze o soluție de căutare și scalare bazată pe JSON, a lansat Elasticsearch.

Ca "search engine" este folosit pentru:

  • Căutare în aplicații, site-uri și baze de date
  • Înregistrare de loguri și analiză pe loguri
  • Monitorizarea performanței aplicațiilor și a metricilor de infrastructură
  • Analiză geospațială și vizualizare a datelor
  • Analiză de Securitate și de business

elasticsearch



Cum funcționează elasticsearch?

În faza inițială, datele intră în Elasticsearch ca apoi să fie analizate, optimizate și îmbogățite înainte de a fi indexate tot în cadrul său. Acest proces se numește "data ingestion" sau ingerare de date, în termeni improprii. Ulterior, după indexarea din ES (elasticsearch), utilizatorii își pot rula query-uri și interogări pentru retragerea rapoartelor complexe referitoare la datele lor.

Există și posibilitatea de configurare Elasticsearch, împreună cu Kibana, pentru a creea dashboard-uri înspre a-și vizualiza datele în timp real.

Kibana este un software de monitorizare și management pentru Elasticsearch, similar cu Zabbix/Grafana.



De ce ai folosi elasticsearch?

Fiind bazat pe Lucene, este excelent pentru căutarea de text integral. De asemenea, latența sa este foarte scurtă, procesând indexarea în sine în timp real. De asemenea, stocarea și căutarea datelor sau a pachetelor de date este mai eficientă, având funcția de gestionare a ciclului de viață al indexului.

Elasticsearch este compatibil cu următoarele limbaje de programare: Java, JavaScript(Node.js), Go, .NET(C#), PHP, Perl, Python și Ruby.

Din motive de Securitate și de integrare, Elasticsearch se poate instala doar pe un VPS sau pe un server dedicat, însă, putem să îl configurăm și pentru pachetele noastre de găzduire Magento sau găzduire web premium prin crearea unui nou VPS cu elasticsearch.

La nivel de găzduire Magento, elasticsearch vă garantează funcționarea mai fluidă a magazinului dumneavoastră, eliminând timpurile prelungite de indexare și de încărcare a produselor sau a comenzilor.

Conturile de Magento, fiind găzduite pe servere shared, este nevoie de configurarea unui VPS separat pentru fiecare cont individual. Acest lucru vă garantează că instalarea de elasticsearch funcționează doar pentru contul dumneavoastră, individual, făra să fie afectat de ceilalți clienți găzduiți pe acest server.

Problemele principale care pot apărea în momentul folosirii elasticsearch pe serverele shared, în mod normal, ar fi faptul ca indexările s-ar putea repeta la mai mulți clienți dar și suprasolicitarea resurselor alocate serverului.


elasticsearch


Beneficii elasticsearch + Magento

  • Căutare rapidă și avansată a produselor din catalog
  • Suport lingvistic asupra căutărilor
  • Căutarea prin sinonime sau cuvinte cheie
  • Clienții nu sunt întrerupți când se face indexarea elasticsearch
  • Rezultate cu acuratețe crescută și scalabilă
  • Suport pentru analiza în timp real a datelor
  • Aplicabilitate dincolo de căutări, incluzând reportare, personalizare, performanța și stocare de date.

Pentru a funcționa în parametrii normali împreună cu Magento 2.4.x, este nevoie ca versiunea de elasticsearch să fie 7.6.x, versiunile mai vechi (2.x, 5.x, 6.x) nefiind suportate de către această versiune de Magento.



Comparație cu alte motoare de căutare în Magento:

SOLR

O altă opțiune la nivel de search engine, folosită pentru indexarea și scalarea site-urilor cu trafic foarte mare. Exemplu de site-uri care folosesc SOLR: Cnet și Netflix.

Avantaje:
  • Folosit în mare parte pentru căutările în magazinele bazate pe Magento 1
  • Nu necesită un proces mare pentru indexare
  • Open-Source 100%
Dezavantaje:
  • Greu de implementat
  • Mai puțin viabil și sigur decât elasticsearch


Sphinx

O opțiune mai ușor de integrat decât SOLR, dar mai puțin viabilă decât aceasta. Sphinx-ul nu rulează ca o opțiune de sine stătătoare, ci ca o extensie ce poate fi descărcată din Magento Marketplace. Site-uri care folosesc Sphinx: Mozilla, Craigslist și Dailymotion.

Avantaje:
  • Motor puternic de căutare folosit de site-uri populare
  • Dat fiind faptul că a fost îmbunătățit timp de mai mulți ani, acesta este acum foarte stabil.
Dezavantaje:
  • Mai lent decât elasticsearch și SOLR

MySQL

Motorul de căutare de bază integrat în Magento.

Avantaje:
  • Solutia este gratuită.
Dezavantaje:
  • Nu suportă funcțiile principale din elasticsearch și SOLR
  • Nu este la fel de rapid ca cele menționate mai sus
  • Este depreciat și nu este recomandat pentru un magazin cu produse multe și trafic mare.


Instalare elasticsearch

Pentru a instala elasticsearch pe un VPS (în exemplul actual versiunea 6.8.13), trebuie să rulați următoarele comenzi din consola Linux:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.13.rpm
          yum search openjdk-headless
          yum install java-1.8.0-openjdk-headless.x86_64
          rpm -i elasticsearch-6.8.13.rpm
          systemctl enable elasticsearch.service
          systemctl start elasticsearch.service


elasticsearch



Caracteristici și prețuri add-on elasticsearch pentru găzduire web magento sau găzduire web premium


Elastic A Managed
2GB RAM
1 vCPU
20 € / lună
Elastic B Managed
4GB RAM
1 vCPU
30 € / lună
Elastic C Managed
8GB RAM
2 vCPU
50 € / lună
Elastic D Managed
12GB RAM
2 vCPU
70 € / lună
Elastic E Managed
16GB RAM
4 vCPU
90 € / lună


Alege un pachet de găzduire web Magento cu elasticsearch