-

Zaawansowana wyszukiwarka produktów w Drupalu z integracją Apache Solr – przewodnik

Wyszukiwanie produktów to dziś kluczowa funkcja w e-commerce. W artykule przedstawię, jak stworzyć zaawansowaną wyszukiwarkę produktów w oparciu o system Drupal i integrację z Apache Solr. Dzięki połączeniu Drupala, profilu instalacyjnego Droopler oraz Solr możliwe jest stworzenie wydajnej wyszukiwarki, która ułatwi klientom nawigację oraz przyspieszy przeszukiwanie dużych zbiorów danych. Zachęcam do przeczytania wpisu lub obejrzenia wideo z serii Nowoczesny Drupal.

Czym jest Apache Solr?

Apache Solr to zaawansowany system wyszukiwania, stworzony z myślą o szybkim przetwarzaniu i przeszukiwaniu ogromnych zbiorów danych. Jest zdecydowanie wydajniejszy od tradycyjnych rozwiązań opartych na bazach danych SQL, a jego możliwości są szczególnie przydatne w kontekście rozbudowanych witryn e-commerce.

Jak działa? Przechowuje informacje w sposób ułatwiający wyszukiwanie i umożliwia szybkie znajdowanie danych na podstawie złożonych zapytań.

Apache Solr umożliwia m.in. przeszukiwanie konkretnych pól, korzystanie ze znaków specjalnych, stosowanie operatorów logicznych (AND, OR, NOT), automatyczne uzupełnianie zapytań, wyszukiwanie przybliżone (z tolerancją błędów), sprawdzanie pisowni i wiele więcej.

Jakie funkcje oferuje Apache Solr?

Apache Solr jest wyposażony w szereg funkcji, które czynią go niezwykle wszechstronnym narzędziem do wyszukiwania. Oprócz wymienionych wyżej, najważniejsze z nich to:

  1. Wyszukiwanie w czasie rzeczywistym – zapewnia natychmiastowy dostęp do wyników.
  2. Filtrowanie po polach – umożliwia przeszukiwanie tylko wybranych sekcji lub atrybutów produktów.
  3. Automatyczne uzupełnianie i sprawdzanie pisowni – pomaga użytkownikom w szybkim znajdowaniu poszukiwanych produktów nawet przy literówkach.
  4. Grupowanie wyników – Apache Solr potrafi wyświetlić wyniki pogrupowane według kategorii, co ułatwia użytkownikowi odnalezienie interesujących go produktów.

Implementacja wyszukiwarki w Drupalu – wybór profilu instalacyjnego

Zanim zaczniemy, musimy przygotować środowisko do łatwego skonfigurowania Apache Solr.

Instalacja i konfiguracja profilu Droopler

W naszym przykładzie użyjemy profilu instalacyjnego Droopler, który jest specjalnie przygotowany do integracji z Apache Solr. Droopler zawiera gotowy typ zawartości products, dzięki czemu możemy zbudować wyszukiwarkę bez konieczności ręcznego tworzenia i konfiguracji każdego pola.

Efekt końcowy - gotowa wyszukiwarka produktów

Zanim przystąpimy do instrukcji krok po kroku, zobaczmy, do jakiego efektu dążymy. Po zakończeniu konfiguracji otrzymamy gotową wyszukiwarkę produktów, która umożliwia użytkownikom wyszukiwanie po literach, kategoriach, tagach oraz pełnych frazach. Wyświetlane będą również liczby wyników dla każdej kategorii i tagu, co pomoże użytkownikowi w szybkim zorientowaniu się, ile produktów odpowiada danym kryteriom.

Gotowa wyszukiwarka produktów na stronie internetowej opartej o profil instalacyjny Droopler.


Wymagane moduły do integracji Apache Solr z Drupalem

Aby połączyć Drupala z Solr, konieczne jest zainstalowanie odpowiednich modułów:

  1. Search Api
  2. Search Api Solr
  3. Search API Autocomplete
Moduły Solr w Drupalu potrzebne do zbudowania wygodnej wyszukiwarki produktów na stronie.


Konfiguracja serwera Solr

Kolejnym krokiem jest konfiguracja serwera Solr w Drupalu. Podajemy tutaj URL serwera, port oraz dane do logowania, takie jak nazwa użytkownika i hasło, jeśli Solr jest zabezpieczony protokołem BasicAuth.

Konfiguracja serwera Solr w Drupalu poprzez uzupełnienie odpowiednich danych, takich jak URL serwera


Konfiguracja indeksów w Drupalu

Indeks w Drupalu to struktura przechowująca dane, które chcemy przeszukiwać.

Nowy indeks dodajemy w Search API. Następnie możemy zająć się konfiguracją:

  1. Nadajemy nazwę indeksu (np. “Products Index”)
  2. Określamy typy zawartości, które chcemy zaindeksować, np. produkty, artykuły lub strony (w naszym przypadku możemy wybrać “produkty”, jeśli indeks ma wspierać wyszukiwanie produktów).
  3. Wybieramy serwer: w ustawieniach indeksu wybieramy skonfigurowany wcześniej serwer Apache Solr jako źródło indeksowania (dzięki temu Drupal będzie mógł przesyłać dane do Solr, który zajmie się ich przetwarzaniem).
  4. Konfigurujemy pola do indeksowania: aby dodać nowe pole, klikamy „Dodaj pole” i wybieramy odpowiednie pola z listy. Pola takie jak “tytuł” czy “opis” będą przydatne do wyszukiwania pełnotekstowego, natomiast “kategorie” i “tagi” można wykorzystać jako filtry.
  5. Dostosowujemy ustawienia pola: określamy, które pola mają być uwzględnione w indeksie i jak będą przeszukiwane - np. możemy wybrać, aby pola tekstowe (tytuł, opis) były przeszukiwane pełnotekstowo, co umożliwi wyszukiwanie po frazach.
Konfiguracja indeksów przechowujących dane w Drupalu z użyciem modułów Apache Solr.


Gdy indeks jest skonfigurowany, przeprowadzamy reindeksację, aby zapewnić dostępność wszystkich danych dla Solr.

Aby tego dokonać:

  1. Przechodzimy do zakładki Search API: w panelu administracyjnym Drupala otwieramy sekcję Search API, gdzie widoczna jest lista wszystkich skonfigurowanych indeksów.
  2. Wybieramy indeks do reindeksacji: znajdujemy i wybieramy indeks zawierający dane, które mają być ponownie zaindeksowane (np. „Product Index”).
  3. Przeglądamy ustawienia indeksu:
    • Weryfikujemy, czy pola do indeksacji są prawidłowo skonfigurowane i obejmują wszystkie elementy, które mają być dostępne do wyszukiwania.
    • Sprawdzamy, czy wybrany jest serwer Solr, aby zapewnić poprawną integrację.
  4. Dodajemy zawartość do kolejki reindeksacji:
    • Klikamy opcję „Queue items for reindexing” (“Umieść elementy w kolejce do ponownego indeksowania”).
  5. Rozpoczynamy proces reindeksacji: uruchamiamy reindeksację, klikając „Indeksuj teraz” lub “Użyj funkcji cron”, aby system automatycznie rozpoczął przetwarzanie wszystkich elementów.
  6. Monitorujemy proces: obserwujemy, jak dane są zaindeksowane i zwracamy uwagę na liczbę przetworzonych elementów. Proces może chwilę potrwać, szczególnie przy dużej ilości danych.
  7. Sprawdzamy status indeksu: po zakończeniu reindeksacji weryfikujemy, czy wszystkie pozycje zostały poprawnie zaindeksowane i są gotowe do wyszukiwania.
Sprawdzanie statusu po zakończeniu reindeksacji w systemie Drupal z użyciem modułu Apache Solr.


Tworzenie widoku wyszukiwarki produktów

Teraz zajmiemy się utworzeniem wygodnego widoku naszej wyszukiwarki.

Budowanie nowego widoku

W Drupalu widok umożliwia prezentację zaindeksowanych danych w przystępny dla użytkownika sposób. Nowy widok konfigurujemy następująco:

  1. Dodajemy widok: w zakładce Struktura > Widoki klikamy „Dodaj nowy widok” i nadajemy nazwę, np. „Product Search”. Wybieramy indeks Solr, np. „Product Index” jako źródło danych.
Dodawanie widoku w zakładce Struktura, a następnie Widoki w panelu administracyjnym Drupala.

 

  1. Ustawiamy wyświetlanie: określamy sposób prezentacji wyników (lista lub siatka) i liczbę wyników na stronę.
Ustawianie w Drupalu, w jaki sposób mają być wyświetlane elementy widoku na potrzeby wyszukiwarki.

 

  1. Dodajemy pola: wybieramy pola do wyświetlania (np. tytuł, opis, miniaturę, kategorię). Dla obrazów ustawiamy miniaturę o odpowiednich wymiarach.
Dodawanie pól do wyświetlania w wyszukiwarce produktów (np. tytuł, kategoria) na stronie na Drupalu.

 

  1. Dodajemy filtry: dodajemy filtr pełnotekstowy dla wyszukiwania słów kluczowych oraz dodatkowe filtry, np. po kategoriach i tagach.
Dodawanie kryteriów filtrowania w Apache Solr do porządkowania wyników wyszukiwania produktów.

 

  1. Podświetlanie słów kluczowych i autouzupełnianie: tym krokiem szczegółowo zajmiemy się w dalszej części artykułu.
  2. Zapisujemy i testujemy widok: zapisujemy ustawienia, testujemy wyszukiwanie i sprawdzamy, czy wszystkie filtry i funkcje działają poprawnie.

Filtry i podświetlanie słów kluczowych

Dodajemy funkcje filtrowania, takie jak wyszukiwanie pełnotekstowe oraz możliwość podświetlania słów kluczowych (tzw. highlighting). Klikamy “dodaj filtr” i wybieramy filtr pełnotekstowy (full-text search), a następnie konfigurujemy go, aby przeszukiwał najważniejsze pola, np. tytuł i opis.

W kolejnym kroku dodajemy dodatkowe filtry po polach takich jak kategorietagi, co umożliwi zawężenie wyników wyszukiwania. Teraz dodajemy podświetlanie słów kluczowych: przechodzimy do zakładki „Procesory” i włączamy opcję „Highlight” dla wybranych pól, np. tytułu i opisu.

Ustawianie filtrowania i podświetlania słów kluczowych w Drupalu na potrzeby wyszukiwarki produktów.

 

Dzięki tej funkcji wyszukiwane hasła będą wyróżnione, co ułatwi użytkownikowi zrozumienie, dlaczego dany produkt pojawił się w wynikach.

Zaawansowane funkcje wyszukiwarki

Poniżej przyjrzymy się i omówimy funkcje, jakie można dodać do naszej wyszukiwarki. Pozwalają one na zaawansowane wyszukiwania i są bardzo wygodne dla użytkownika.

Funkcja Autocomplete i poprawianie pisowni (Spell Check)

Solr daje także możliwość zastosowania zaawansowanych funkcji, takich jak autocomplete, która umożliwia wyświetlanie podpowiedzi w czasie wpisywania hasła, co jest realizowane przez moduł Solr Autocomplete. Natomiast moduł Spell Check pomaga użytkownikowi, który popełnił literówkę, proponując alternatywne słowa kluczowe.

Aby zastosować obie funkcje, należy:

  1. Włączyć moduł Autocomplete:
  • W Drupalu aktywujemy moduł Solr Autocomplete. Następnie w ustawieniach indeksu Solr klikamy w zakładkę „Auto uzupełnianie” i włączamy ją dla wybranego widoku, np. „Product Search”.
  • W opcjach można dostosować wyświetlanie wyników, aby użytkownicy otrzymywali sugestie przy wpisywaniu zapytań.
     
  1. Dodać moduł Spell Check do poprawiania pisowni:
    • Aktywujemy moduł Spell Check. Następnie dodajemy nowe pole tekstowe w indeksie, np. “Aggregated Fields”, które będzie obsługiwało poprawianie pisowni dla pól takich jak “tytuł” i “opis”.
    • Włączamy funkcję Spell Check w ustawieniach indeksu, co umożliwi wyświetlanie poprawnych sugestii w przypadku literówek.

Po zapisaniu zmian, należy ponownie wykonać reindeksowanie. Autocomplete i poprawianie pisowni będą aktywne, wspierając wygodniejsze wyszukiwanie.

Test poprawiania pisowni z modułem Spell Check w Drupalu, w profilu instalacyjnym Droopler.

Wyszukiwanie po kategoriach i tagach

Dzięki modułowi Facets możliwe jest przeszukiwanie produktów po kategoriach i tagach. Facets tworzy bloki, które można umieścić w różnych miejscach strony, ułatwiając użytkownikom filtrowanie wyników na podstawie interesujących ich kategorii czy tagów.

Konfiguracja Facets’ów

Facets’a konfigurujemy poprzez włączenie go w Drupalu. Następnie przechodzimy do ustawień modułu i wybieramy widok, dla którego chcemy dodać facety (w naszym przypadku widok „ps”).

Klikamy “Dodaj Facets” („Add Facets”) i wybieramy pole, po którym chcemy umożliwić filtrowanie, np. “Kategorie” lub “Tagi”. Ustawiamy nazwę facetu, opcje wyświetlania (np. jako listę linków) i włączamy opcję „Pokaż liczbę wyników”, aby użytkownicy widzieli liczbę produktów w każdej kategorii. Na końcu przechodzimy do “Układ bloków” (“Block Layout”) i umieszczamy nowo utworzone bloki Facets’u w wybranym regionie strony, np. w bocznej kolumnie, aby były widoczne w widoku wyszukiwania.

Konfiguracja facets’ów i wprowadzanie zmian w układzie bloków w Drupalu na potrzeby wyszukiwarki.

Wyszukiwarka produktów z integracją Apache Solr - podsumowanie

Integracja Drupala z Apache Solr za pomocą profilu Droopler pozwala stworzyć wydajną i przyjazną wyszukiwarkę produktów. Funkcje takie jak podświetlanie słów kluczowych, automatyczne uzupełnianie, poprawianie pisowni oraz możliwość filtrowania po kategoriach i tagach sprawiają, że przeszukiwanie witryny jest szybkie i intuicyjne. Stworzenie takiej wyszukiwarki wymaga odpowiednich modułów, jednak końcowy efekt jest zdecydowanie wart włożonego wysiłku, oferując użytkownikom nowoczesne i zaawansowane narzędzie do wyszukiwania produktów. Jeśli potrzebujesz wsparcia w tym lub podobnym zadaniu, eksperci z naszej agencji Drupala pomogą Ci wykonać tego rodzaju konfigurację.

***

Ten artykuł powstał na bazie materiału wideo. Zapraszamy do subskrybowania kanału Nowoczesny Drupal, gdzie w każdy piątek o 12:00 publikujemy nowy film. Nasi eksperci prezentują rozwiązania lub gotowe narzędzia, które pomogą Ci wykorzystać pełen potencjał Drupala.

.