Jak skonfigurować Elasticsearch w Magento 2

Opublikowany: 2022-12-20

Spis treści

Platforma Magento otworzyła przed właścicielami firm doskonałą okazję do uruchamiania swoich sklepów z mniejszymi ograniczeniami i większą elastycznością. W sklepie mogą znajdować się tysiące produktów w wielu kategoriach i podkategoriach, a zwykle czas, jaki klienci spędzają na wyszukiwaniu produktów, jest krótki. Dlatego Twój sklep Magento może napotkać spadek konwersji, jeśli nie możesz zapewnić klientom łatwego wyszukiwania i przydatnych wyników wyszukiwania w czasie rzeczywistym. To jest powód, dla którego potrzebujesz potężnej wyszukiwarki, a Magento 2 Elasticsearch przychodzi z pomocą.

Czym jest Elasticsearch w Magento 2?

logo-elastycznego wyszukiwania

Według Elasticsearch BV, Elasticsearch to rozproszony, bezpłatny i otwarty silnik wyszukiwania i analizy wszystkich typów danych, w tym danych tekstowych, numerycznych, geoprzestrzennych, ustrukturyzowanych i nieustrukturyzowanych.

Wydany po raz pierwszy w 2010 roku, Elasticsearch jest oparty na bibliotece wyszukiwania i indeksowania opartej na Javie o nazwie Apache Lucene. Jest to wyszukiwarka pełnotekstowa, która sugeruje powiązane słowa kluczowe i wyświetla kompletne zapytania, porównując słowa w dokumencie lub bazie danych. Ponadto jego rozproszony model i otwartość na wszystkie typy danych sprawiają, że jest szybki w wyszukiwaniu i łatwy do skalowania.

Dzięki tym możliwościom Elasticsearch został użyty w wyszukiwaniu aplikacji; Wyszukiwanie w witrynie; Wyszukiwanie przedsiębiorstw; Logowanie i analiza logów; Monitorowanie wydajności aplikacji; Analiza i wizualizacja danych geoprzestrzennych; Analityka biznesowa itp.

Od Magento 2.4, Adobe Commerce lub Magento wymaga, aby Elasticsearch był domyślną wyszukiwarką katalogów. Dlatego staje się elementem obowiązkowym i nie można go wyłączyć podczas instalacji Magento. Elasticsearch zapewnia klientom szybsze i bardziej trafne wyniki wyszukiwania w czasie rzeczywistym, co zwiększa współczynnik konwersji biznesowej. To ogromna korzyść zarówno dla klientów, jak i właścicieli sklepów Magento 2.

Jak działa Elasticsearch?

To, co umożliwia Elasticsearch podawanie tak szybkich i wiarygodnych wyników wyszukiwania, to jego zdolność indeksowania, w której szuka indeksów zamiast badać tekst. Elastyczny indeks to grupa dokumentów o podobnej strukturze, która pozwala na szybkie i wydajne wyszukiwanie danych i służy do przechowywania logicznie powiązanych dokumentów.

Kiedy surowe dane wpływają do Elasticsearch z różnych źródeł, takich jak dzienniki, metryki systemowe i aplikacje internetowe, Elasticsearch je przetwarza. Następnie indeksuje te dane, a następnie użytkownicy mogą przeprowadzać skomplikowane wyszukiwania danych i otrzymywać szczegółowe podsumowania swoich danych za pomocą agregacji. (Elastyczny.co)

struktura elastycznego wyszukiwania
Źródło: Thirdrocktechkno.com

Niektóre z istotnych funkcji Elasticsearch:

  • Szybkie wyszukiwanie tekstu
  • Sugestie wyszukiwania
  • Automatyczne uzupełnianie
  • Sprawdzanie pisowni/błędów w pisowni i wykrywanie słów pomijanych
  • Logowanie i analiza
  • Wyszukiwanie geograficzne

Korzyści z elastycznego wyszukiwania Magento 2

Świetne wrażenia z wyszukiwania

Powolne czasy odpowiedzi i słaba funkcjonalność wyszukiwarek mogą prowadzić do wysokiego współczynnika odrzuceń. Dzięki szybkiemu generowaniu wyników przez Elasticsearch i odpowiednim wynikom w czasie rzeczywistym, klienci nie zniechęcą się i nie opuszczą witryny.

A dzięki autouzupełnianiu i autosugestii klienci mogą zaoszczędzić dużo czasu i wysiłku, a także zmniejszyć liczbę błędnych zapytań.

Ponadto jedną irytującą rzeczą, z którą zwykle spotykają się osoby wyszukujące, są literówki lub błędy ortograficzne. Prowadzi to do tego, że wyszukiwarki nie są w stanie rozpoznać słów kluczowych i wyświetlają status „nie znaleziono wyników”. Elasticsearch może znaleźć słowa kluczowe i frazy, które do nich pasują, więc nadal może dawać powiązane wyniki, a nawet zwiększać ich dokładność.

Szybkie wyszukiwanie

Elasticsearch to potężne narzędzie, które może wyszukać wyszukiwane słowa kluczowe w mniej niż 10 sekund, znacznie szybciej niż typowe wyszukiwanie oparte na SQL. Ponieważ jest zbudowany na Lucene i wykorzystuje rozproszone odwrócone indeksy, Elasticsearch działa wyjątkowo dobrze w wyszukiwaniu pełnotekstowym. ElasticSearch może przechwycić wszystkie zapytania wyszukiwania dla zestawu wyników, więc za każdym razem, gdy zapytanie wyszukiwania zawiera buforowany filtr, przekieruje wyszukiwanie wyniku z pamięci podręcznej. Oznacza to, że czas między zaindeksowaniem dokumentu a udostępnieniem go do przeszukiwania jest stosunkowo krótki, co zwiększa liczbę odpowiedzi w wynikach wyszukiwania.

Wysoka skalowalność i zarządzanie ogromnymi wolumenami danych

Elasticsearch opiera się na architekturze rozproszonej. Firma twierdzi, że „dokumenty przechowywane w Elasticsearch są dystrybuowane w różnych kontenerach zwanych shardami, które są duplikowane w celu zapewnienia nadmiarowych kopii danych w przypadku awarii sprzętu”. Dlatego jego natura pozwala na skalowanie do tysięcy serwerów i zarządzanie ogromnymi ilościami danych.

Co więcej, jest zbudowany w taki sposób, że może pomyślnie działać na dowolnym klastrze lub systemie z wieloma węzłami. W rezultacie rozszerzenie z pojedynczego małego klastra do większego wymaga jedynie niewielkiego przygotowania i jest praktycznie bezproblemowe.

Bez schematów

Elasticsearch używa JSON, czyli JavaScript Object Notation. Przechowuje dokumenty JSON z danymi indeksującymi w celu wykrycia struktury danych i umożliwia ich przeszukiwanie. Oznacza to, że nie wymaga żadnej definicji danych i zwykle używa wartości domyślnych do indeksowania danych, chyba że podano określony typ danych. Gdy obiekt z nową właściwością jest później indeksowany, definicje mapowania są automatycznie aktualizowane. Dlatego jest wolny od schematów.

Wymagania wstępne do skonfigurowania Elasticsearch

Jako wymagany dodatek do platformy Magento, Elasticsearch musi zostać zainstalowany i skonfigurowany przed aktualizacją użytkowników do wersji 2.4.x. Ponadto użytkownicy powinni mieć świadomość, że Adobe nie obsługuje już Adobe Commerce 2.3.x i PHP 7.3. Dlatego zaleca się aktualizację do Adobe Commerce 2.4.x i PHP 7.4.x , aby zachować zgodność z PCI.

Adobe-commerce-notatki-w-wersjach
Źródło: Adobe Commerce DevDocs

Obecna sekwencja instalacji Magento 2.4.x wymaga od użytkowników zainstalowania Elasticsearch wraz z następującymi dodatkowymi wymaganiami:

  • Serwer WWW (Apache lub Nginx)
  • MySQL
  • PHP

Wersja, której Magento żąda dla wszystkich instalacji, to Elasticsearch 7.6.x, więc użytkownicy powinni upewnić się, że wybierają tę wersję. Niektóre obecne rozszerzenia Magento 2 Elasticsearch innych firm mogą pomóc w integracji Elasticsearch ze sklepami Magento.

Łatwa konfiguracja Elasticsearch dla Twojego sklepu Magento

Tutaj przeprowadzimy Cię przez kroki konfiguracji Elasticsearch za pomocą panelu administracyjnego Magento 2.

Krok 1: Konfigurowanie opcji wyszukiwania Elasticsearch Magento 2

1. Zaloguj się do panelu administracyjnego Magento 2 jako administrator.

magento-panel-admin

2. Kliknięcia Sklepy. W Ustawieniach wybierz Konfiguracja . Na tej stronie kliknij sekcję Katalog, aby ją rozwinąć.

magento-panel-konfiguracyjny

3. Wybierz Wyszukiwanie w katalogu . Tutaj możesz zobaczyć wszystkie wersje wyszukiwarek do wyboru i inne ustawienia ogólne.

  • Minimalna długość zapytania : minimalna liczba znaków, które użytkownicy muszą wprowadzić, zanim pojawią się rekomendacje lub sugestie Elasticsearch. Domyślna wartość systemu to 3.
  • Maksymalna długość zapytania : maksymalna liczba znaków do wpisania w celu wyświetlenia wyników. Domyślna wartość systemowa to 128.
  • Liczba najlepszych wyników wyszukiwania do pamięci podręcznej: tutaj wpisujesz ograniczoną liczbę popularnych wyników wyszukiwania, aby zwiększyć szybkość odpowiedzi. Wartość domyślna to 100. Przy drugim wyszukiwaniu terminu podaj „0”, aby zapisać wszystkie wyniki w pamięci podręcznej.
  • Włącz lub wyłącz EAV Indexer: zmodyfikuj to pole, aby zwiększyć szybkość indeksowania i uniknąć rozszerzeń innych firm korzystających z indeksatora.
  • Limit autouzupełniania: ustawiasz wartość, aby ograniczyć maksymalną liczbę wyników wyszukiwania wyświetlanych dla autouzupełniania Magento 2 Elasticsearch. Pomaga to poprawić wydajność wyszukiwania i skrócić wyświetlaną listę. Domyślne ustawienie to 8.
ogólne-elastyczne-ustawienia-wyszukiwania

Krok 2: Konfigurowanie połączenia Elasticsearch Magento 2

Poniższa tabela przedstawia wymagane opcje do skonfigurowania i przetestowania połączenia z Magento. Jeśli nie dostosujesz żadnych ustawień i pozwolisz działać domyślnym, przejdź do następnego kroku.

Tabela testowa połączenia Magento-2-elasticsearch
Źródło: Adobe Commerce DevDocs
Magento-2-elasticsearch-connection-test-fields

Kliknij opcję Testuj połączenie , aby zakończyć konfigurację i przetestować.

Jeśli połączenie nie powiedzie się, wypróbuj następujące sposoby

  • Sprawdź, czy Twój serwer Elasticsearch nadal działa.
  • Zaloguj się do serwera Magento i wykonaj polecenie ping do hosta Elasticsearch, jeśli znajduje się on na innym hoście niż Magento. Rozwiąż wszelkie problemy z połączeniem sieciowym i ponownie przetestuj połączenie.
  • Przed kontynuowaniem zaadresuj wszelkie ślady stosu i błędy w oknie poleceń, w którym uruchomiono Elasticsearch. I upewnij się, że uruchomiłeś Elasticsearch jako użytkownik z uprawnieniami administratora.
  • Upewnij się, że zapora UNIX i SELinux są wyłączone lub włącz komunikację między Elasticsearch i Magento, konfigurując reguły.
  • Upewnij się, że port wybrany w polu Elasticsearch Server Port nie jest już używany przez inny proces, używając polecenia netstat -an | grep **listen-port** netstat -an | grep **listen-port** .

Krok 3: Skonfiguruj sugestie i rekomendacje

Jak wspomniano powyżej, rekomendacje wyszukiwania i sugestie Magento 2 Elasticsearch są wygodne i pomocne dla klientów poszukujących odpowiednich produktów.

Na tym etapie możesz skorzystać z ustawień domyślnych lub wprowadzić pewne zmiany:

  • Włącz pola Włącz rekomendacje wyszukiwania i Włącz sugestie wyszukiwania .
  • Wybierz liczbę rekomendacji i sugestii wyszukiwania w polach Liczba rekomendacji wyszukiwania i Liczba sugestii wyszukiwania.
  • Zezwalaj na wyświetlanie liczby wyników znalezionych dla każdej rekomendacji i sugestii w polach Pokaż liczbę wyników dla każdej rekomendacji i Pokaż liczbę wyników dla każdej sugestii.
  • Określ wartość w polu Minimalne warunki do dopasowania , aby ustawić minimalną liczbę terminów, które muszą zostać dopasowane w wynikach wyszukiwania, aby użytkownicy mogli otrzymać te najbardziej odpowiednie.
Magento-2-elasticsearch-recommendation-suggestion-settings

Po zakończeniu konfiguracji naciśnij Zapisz konfigurację .

Krok 4: Ponowne indeksowanie wyszukiwania w katalogu i odświeżanie pamięci podręcznej całej strony

Po zmianie konfiguracji Magento 2 Elasticsearch musisz ponownie zindeksować indeks wyszukiwania katalogu i ponownie załadować całą pamięć podręczną strony. Można to zrobić na dwa sposoby: za pomocą administratora lub wiersza poleceń.

Używając Panel administratora:

  1. W panelu administracyjnym kliknij System i przejdź do Zarządzania pamięcią podręczną.
  2. Zaznacz pole Pamięć podręczna strony .
  3. Wybierz opcję Odśwież z listy Akcje w prawym górnym rogu strony.
sekcja zarządzania pamięcią podręczną

Aby wyczyścić pamięć podręczną, uruchom polecenie magento cache:clean .

Korzystanie z wiersza poleceń:

  • Zaloguj się jako właściciel systemu plików lub przełącz się na niego na swoim serwerze Magento.
  • Aby ponownie zindeksować tylko indeks wyszukiwania katalogu, wprowadź:

bin/magento indexer:reindex catalogsearch_fulltext

  • Aby ponownie zindeksować wszystkie indeksatory, wprowadź:

bin/magento indexer:reindex

  • Poczekaj na zakończenie procesu ponownego indeksowania.

Wniosek

Używany przez znane nazwiska, takie jak Netflix, LinkedIn, eBay itp., Elasticsearch cieszy się zaufaniem, aby wyszukiwanie w witrynie było łatwe i skuteczne dla Twoich klientów. Po zakończeniu konfiguracji Magento 2 Elasticsearch Twój sklep zostanie wzmocniony, aby przekonwertować wyszukiwania na sprzedaż i zminimalizować porzucanie koszyka.
Mamy nadzieję, że ten post okaże się przydatny i życzymy powodzenia w e-commerce!