Jak skonfigurować Elasticsearch w Magento 2
Opublikowany: 2022-12-20Spis 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?
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)
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.
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.
2. Kliknięcia Sklepy. W Ustawieniach wybierz Konfiguracja . Na tej stronie kliknij sekcję Katalog, aby ją rozwinąć.
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.
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.
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.
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:
- W panelu administracyjnym kliknij System i przejdź do Zarządzania pamięcią podręczną.
- Zaznacz pole Pamięć podręczna strony .
- Wybierz opcję Odśwież z listy Akcje w prawym górnym rogu strony.
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!