Wyszukiwanie produktów, indeksowanie i nawigacja fasetowa w PrestaShop
Napraw brakujące wyniki, utrzymuj indeksy wyszukiwania i filtrów, popraw trafność i wybieraj funkcje wyszukiwania na podstawie własnego katalogu.
Zacznij od natywnych ustawień wyszukiwania, prawidłowej widoczności katalogu i aktualnego indeksu. Traktuj wyszukiwanie wpisywanych fraz i nawigację fasetową jako osobne narzędzia, a następnie sprawdź, jak współpracują w Twoim sklepie.
Co zrobilibyśmy na Twoim miejscu
Zanim cokolwiek zastąpimy, odtworzylibyśmy ścieżkę zakupową, na której występuje problem. Sposób działania zależy od Twojego sklepu: wydania PrestaShop, modułów wyszukiwania i filtrów, motywu, integracji importowych, danych katalogowych, języków, rynków i zespołu, który je utrzymuje. Zachowaj natywne wyszukiwanie i filtry, jeśli poprawki konfiguracji lub danych spełniają wymagania.
| Co obserwujesz | Od tego zacznij | Dowód potrzebny do kolejnej decyzji |
|---|---|---|
| Opublikowany produkt znika po imporcie. | Sprawdź widoczność i rzeczywistą kolejność importu oraz indeksowania. | Zmieniony produkt można znaleźć po ponownym wykonaniu tego samego importu. |
| Znane frazy nie działają lub niewłaściwe produkty są na początku wyników. | Przetestuj aliasy, ustawienia dopasowania i wagi pól. | Arkusz zapytań przed zmianą i po niej pokazuje pozostałe braki. |
| Klienci trafiają do właściwej kategorii, ale nie mogą zawęzić wyników. | Popraw właściwości produktów, szablony filtrów i elementy sterujące na urządzeniach mobilnych. | Wybrane warianty rzeczywiście można kupić. |
| Potrzebujesz merchandisingu zależnego od zapytania, wyszukiwania różnych typów treści lub wybranych stron docelowych filtrów. | Porównaj odpowiedni moduł z obecnymi narzędziami. | Brakujący proces działa z Twoim motywem, cenami i integracjami. |
Przy zmianie dostawcy wyszukiwania, gruntownej zmianie wag lub przebudowie katalogu użyj kopii w środowisku testowym z tym samym motywem, modułami i reprezentatywnymi danymi, odizolowanej od rzeczywistych zamówień i integracji wychodzących. Przećwicz importy, indeksowanie i poniższe testy, a następnie zaplanuj przełączenie działającego sklepu z poprzednią konfiguracją wyszukiwania gotową do przywrócenia. Przed przełączeniem ponownie sprawdź bieżące zmiany katalogu; wycofanie zmiany nie powinno nadpisać zamówień złożonych od próby.
Jeśli chcesz sprawdzić dostępne opcje w swoim sklepie, usługa PrestaShop Module Selection & Fit Assessment pozwala je porównać na kontrolowanej kopii.
Poznaj natywne wyszukiwanie produktów
Pole wyszukiwania odpowiada na wpisane zapytanie. Nawigacja fasetowa zawęża listę produktów. Korzystają one z różnych danych i sposobów utrzymania, nawet jeśli motyw pokazuje je razem.
Natywne wyszukiwanie produktów używa indeksu słów w bazie danych, zarządzanego przez aplikację. search_word przechowuje słowa według sklepu i języka, a search_index łączy słowa z produktami wraz z wagami. Te nazwy używają skonfigurowanego prefiksu bazy danych. Nie jest to po prostu bieżące przeszukiwanie opisów produktów pod kątem fragmentów tekstu.
- Wyszukiwanie przybliżone: wprowadzone w PrestaShop 1.7.7. Po włączeniu zapewnia przybliżone dopasowanie. Różni się od dopasowywania początku słowa i fragmentów wewnątrz słów.
- Aliasy: mapują wyszukiwaną frazę na inną, na przykład kanapa na sofa. Zarządzaj nimi w Parametry sklepu > Szukaj.
- Wagi pól: nadają znaczenie nazwom, indeksom produktów, opisom, kategoriom, markom, tagom, atrybutom i cechom obsługiwanym przez Twoje wydanie.
- Ustawienia tokenów: minimalna długość słowa i słowa wykluczone wpływają na to, co można zindeksować i znaleźć.
Słowa są deduplikowane w obrębie każdego wyodrębnionego pola. Wielokrotne powtarzanie słowa widget w jednym opisie nie dodaje wielokrotnie wagi tego pola. Dopasowania w różnych polach mogą sumować wagę.
Standardowy moduł ps_searchbar już zapewnia asynchroniczne podpowiedzi produktów z nazwami i miniaturami. Sposób prezentacji zależy od zainstalowanego motywu i wersji modułu.
Zastępowanie znaków diakrytycznych jest częścią normalizacji danych wyszukiwania. Nie istnieje natywny przełącznik usuwania znaków diakrytycznych, który można włączyć. Gdy frazy ze znakami diakrytycznymi zachowują się inaczej, sprawdź język, normalizację, zestaw znaków i reguły porównywania oraz alternatywnych dostawców wyszukiwania.
Utrzymuj i przebudowuj właściwy indeks
Automatyczne indeksowanie zależy od PS_SEARCH_INDEXATION i ścieżki aktualizacji. Obsługiwane zmiany produktów w panelu administracyjnym mogą uruchamiać indeksowanie. Bezpośrednie zapisy SQL i dowolne integracje wywołujące Product::save() nie mogą zakładać, że tak się dzieje.
Sprawdzaj indeksowanie po importach, przywracaniu kopii, migracjach, dodaniu języków, zmianach widoczności i zmianach wag pól. Natywna przebudowa przetwarza pola znane indekserowi. Własne pola modułów wymagają jawnej integracji z indeksowaniem, zanim będzie można je wyszukiwać.
W środowisku testowym zmień nazwę produktu, używając danych testowych i tej samej ścieżki importu ERP, CSV lub API co w Twoim sklepie, a następnie uruchom zwykłe zadanie indeksowania. Wybierz niepowiązane słowa testowe spełniające reguły indeksowania. Potwierdź, że nowe słowo zostało zindeksowane dla produktu, a powiązanie usuniętego słowa w indeksie zniknęło, chyba że nadal występuje ono w innym indeksowanym polu. Wyszukiwanie starej frazy może nadal zwracać produkt dzięki aliasom, wyszukiwaniu przybliżonemu lub dopasowaniu fragmentów słów. Powtórz test w sklepie i języku, których dotyczy problem. Udany ręczny zapis w panelu administracyjnym nie dowodzi, że integracja utrzymuje aktualność wyszukiwania.
- Wybierz właściwy kontekst sklepu.
- Otwórz Parametry sklepu > Szukaj i sprawdź stan indeksu.
- Użyj Dodaj brakujące produkty dla kwalifikujących się produktów, których flaga zindeksowania wynosi zero.
- Użyj pełnej przebudowy, gdy istniejąca zindeksowana treść lub wagi mogą być nieaktualne albo gdy flagi nie odzwierciedlają rzeczywistych powiązań w indeksie.
- Poczekaj na zakończenie, sprawdź błędy i powtórz przygotowany zestaw wyszukiwań w każdym istotnym języku i sklepie.
Pełna przebudowa usuwa lub opróżnia dane indeksu i resetuje flagi, zanim ponownie wypełni indeks. W trakcie tego procesu wyszukiwanie może być niekompletne. Zaplanuj go z uwzględnieniem ruchu i rzeczywistego czasu przebudowy oraz unikaj nakładających się uruchomień.
Automatyzacja
Skopiuj pełny adres URL zadania cron wygenerowany przez panel administracyjny. W PrestaShop 1.7.8 i 9 kieruje on do AdminSearch w rzeczywistym katalogu administracyjnym z action=searchCron, ajax=1 i wygenerowanym tokenem. full=1 żąda pełnej przebudowy. Zachowaj poufność adresu i wszystkie wygenerowane parametry.
Zadania HTTP nadal podlegają limitom czasu serwera WWW i proxy. PrestaShop 9.1 dodaje natywne polecenie CLI. Uruchom je z potwierdzonego katalogu głównego sklepu, używając zgodnego pliku wykonywalnego PHP i użytkownika aplikacji:
php bin/console prestashop:search:index --full --shop-id=1
Użyj rzeczywistego identyfikatora sklepu. Sprawdź pomoc polecenia pod kątem zakresu grupy sklepów lub produktów. Rejestruj kod zakończenia, zapobiegaj równoczesnym uruchomieniom i testuj wyszukiwanie po zakończeniu procesu importu i indeksowania.
Wyszukiwanie tekstowe i indeksy cen oraz atrybutów wyszukiwania fasetowego są odrębne. Przebudowa jednego nie przebudowuje drugiego.
Diagnozuj brakujące lub nietrafne wyniki i wolne wyszukiwanie
- Potwierdź, że produkt jest aktywny, powiązany z właściwym sklepem i widoczny w wyszukiwaniu.
- Sprawdź treść w danym języku oraz dostęp grup klientów do kategorii.
- Przetestuj dokładną nazwę, indeks produktu i charakterystyczne zindeksowane słowo.
- Sprawdź minimalną długość słowa, słowa wykluczone, aliasy oraz ustawienia wyszukiwania przybliżonego i dopasowania początku słowa.
- Sprawdź wpisy indeksu i flagi, a w razie potrzeby przebuduj indeks.
- Porównaj pełną stronę wyników z autouzupełnianiem. Jeśli się różnią, sprawdź aktywnego dostawcę wyszukiwania, nadpisania, nieudane żądania i kod motywu.
Sam zerowy stan magazynowy co do zasady nie usuwa produktu z natywnego wyszukiwania rdzenia. Jeśli niedostępne produkty są wykluczane, ustal, który moduł lub modyfikacja to robi.
Ten przykład tylko do odczytu sprawdza słowa o najwyższej wadze dla produktu 123 w sklepie 1 i języku 1. Dostosuj potwierdzone identyfikatory i prefiks do swojej bazy danych:
SELECT sw.word, si.weight
FROM ps_search_index si
JOIN ps_search_word sw ON sw.id_word = si.id_word
WHERE si.id_product = 123
AND sw.id_shop = 1 AND sw.id_lang = 1
ORDER BY si.weight DESC
LIMIT 50;
search_engine opisuje wzorce wyszukiwarek w danych odsyłających; nie jest indeksem słów produktów. alias przechowuje natywne aliasy wyszukiwania.
Aby poprawić trafność, przygotuj listę testową na podstawie rzeczywistych fraz klientów. Zwiększ wagę pól wyrażających zamiar zakupu, takich jak nazwa lub indeks produktu, a w razie potrzeby zmniejsz wagę ogólnych pól opisowych. Możesz przetestować wagi: nazwa 6, indeks produktu 4, krótki opis 3, długi opis 1, kategoria 2, marka 3, tagi 4, atrybuty 2 i cechy 2. Są to wartości przykładowe, a nie natywne ustawienia domyślne. Przebuduj indeks i oceń wyniki na swoim katalogu.
Aby ocenić wydajność, mierz reprezentatywne zapytania i sprawdzaj plany zapytań, indeksy tabel oraz własnych dostawców wyszukiwania. Dobór minimalnej długości słowa i list słów wykluczonych wymaga wyważenia kompletności wyników i rozmiaru indeksu; przetestuj frazy takie jak TV i XL, zanim je zmienisz. Rutynowe OPTIMIZE TABLE po każdej przebudowie nie jest domyślnym wymogiem utrzymania.
Prowadź arkusz wyszukiwań przed zmianą i po niej
Wybierz reprezentatywne produkty i frazy klientów ze swojego katalogu. To przykładowe typy zapytań, a nie obietnica dopasowań. Przy każdym przebiegu zapisz sklep, język, grupę klientów, dostawcę wyszukiwania i ustawienia.
| Przypadek zapytania | Co zapisać |
|---|---|
| Dokładna nazwa produktu | Oczekiwany produkt i jego pozycja. |
| Dokładny indeks produktu | Czy znajduje właściwy produkt lub wariant. |
| Literówka, np. kask rowerwy | Czy dopasowanie przybliżone pomaga bez niepowiązanych wyników. |
| Synonim regionalny, np. adidasy zamiast sneakersy | Docelowa fraza aliasu i uzyskana lista produktów. |
| Fraza zakupowa, np. czarne skórzane botki | Czy pierwsze wyniki spełniają całe zapytanie. |
| Początek słowa, np. rowerow | Wynik przy skonfigurowanym dopasowaniu początku słowa. |
| Fragment słowa, np. skór w słowie ekoskóra | Wynik przy włączonym lub wyłączonym dopasowaniu wewnątrz słowa. |
| Krótka fraza, np. TV lub XL | Czy reguły tokenów nie wykluczają istotnej frazy z katalogu. |
| Zapis ze znakami diakrytycznymi i bez nich | Czy oba prowadzą do właściwej treści w danym języku. |
| Coś, czego nie sprzedajesz | Rzetelny komunikat o braku wyników lub przydatne wskazówki bez mylących dopasowań. |
Dla każdego przypadku zapisz oczekiwany produkt lub stronę docelową, rzeczywiste pierwsze wyniki, liczbę wyników, czas odpowiedzi i wynik autouzupełniania przed zmianą i po niej. Powtórz testy dla odpowiednich języków i grup klientów. Zapisz oczekiwane i wyświetlane ceny oraz sprawdź, czy produkty, strony i informacje o zamówieniach z ograniczonym dostępem pozostają niedostępne zarówno w autouzupełnianiu, jak i w pełnych wynikach. Zmieniaj jedną grupę ustawień naraz i powtarzaj pomiary w porównywalnych warunkach. Odrzuć zmianę, która poprawia obsługę literówki, ale spycha na dalsze pozycje dokładne indeksy produktów.
Świadomie korzystaj z analityki i dodatkowych funkcji wyszukiwania
Opcjonalny moduł Shop search statistics, statssearch, może zapisywać frazy i liczbę wyników, w tym wyszukiwania bez wyników. Sprawdź, czy jest zainstalowany, włączony i zgodny z Twoim wydaniem. Jego raportowanie różni się od pełnego przypisywania kliknięć i konwersji.
Analizuj frazy bez wyników, aby znaleźć brakujące synonimy, niejasne nazwy, niedostępne produkty lub rzeczywiste luki w ofercie. Nie zakładaj, że każde nieudane zapytanie wymaga nowego produktu. Określ zasady dostępu, przechowywania i prywatności logów wyszukiwania.
Rozważ bardziej rozbudowaną integrację wyszukiwania, gdy potrzebujesz zarządzanych grup synonimów, przekierowań fraz, kierowania według wzorców, merchandisingu lub analizy przejścia od zapytania do kliknięcia i konwersji. Na przykład zapis wymiaru 800x800 może prowadzić do przydatnego poradnika rozmiarów, jeśli taka reguła pasuje do katalogu.
Jeśli potrzebujesz wyników obejmujących różne typy treści, zarządzanych synonimów, przypinania lub promowania wyników kampanii i raportów zapytań bez wyników, oceń Smart Search Revolution; obsługiwane funkcje i konfigurację opisuje strona pomocy modułu. Osobno przetestuj wyniki produktów, kategorii i stron informacyjnych oraz potwierdź, że odpowiedzi dotyczące zamówień respektują uprawnienia klienta.
Zewnętrzny silnik, taki jak Elasticsearch, wprowadza osobny indeks i usługę. Sprawdź wersje obsługiwane przez konektor, widoczność produktów, zakres sklepu i języka, kontekst cenowy, synchronizację, przywracanie działania i tryb awaryjny. Natywne wyszukiwanie przybliżone i autouzupełnianie już istnieją, więc same te funkcje nie uzasadniają wymiany silnika.
Analizatory językowe i synonimy określają sposób sprowadzania słów do rdzenia. Nie zakładaj, że running, runs i ran będą pasować bez przetestowania skonfigurowanej analizy języka. Wykonuj pomiary na własnym katalogu i równoczesnych zapytaniach; żadna liczba produktów ani stała ilość RAM nie określa, kiedy migracja staje się konieczna.
Utrzymuj dane filtrów i kontroluj filtrowane adresy URL
W aktualnym ps_facetedsearch liczniki pasujących wartości używają globalnego ustawienia PS_LAYERED_SHOW_QTIES. Nie konfiguruje się ich niezależnie dla każdego filtra. Style wyświetlania, limity i kolejność zależą od zainstalowanej wersji.
Korzystaj z rzeczywistych operacji indeksu i pamięci podręcznej modułu: indeksowania brakujących lub wszystkich cen, indeksowania atrybutów i cech oraz czyszczenia pamięci podręcznej. Kopiuj każdy pełny wygenerowany adres URL zadania, w tym akcję i token. Aktualna wersja źródłowa używa akcji kontrolera modułu, takich jak indexPrices, indexAttributes i clearCache. Zadanie indeksowania cen nie przebudowuje wszystkich rodzajów danych filtrów.
Planuj operacje według importów i zmierzonych potrzeb aktualności danych. Przebudowa zindeksowanych danych to co innego niż dodawanie indeksów SQL. Jeśli filtrowanie nadal działa wolno, zbadaj żądania i plany wykonania zapytań w bazie danych przed zmianą schematu. Testuj realistyczne wielkości kategorii, filtry, reguły stanów magazynowych i paginację, zamiast zakładać, że przyczyną zawsze jest nieaktualny indeks.
Filtrowane adresy URL mogą tworzyć wiele kombinacji dostępnych dla robotów. Wybierz niewielki zestaw użytecznych stron docelowych dla wyszukiwarek i świadomie obsłuż pozostałe kombinacje. W PrestaShop 9 sprawdzaj dyrektywy robots w wygenerowanych listach z filtrami, zamiast zakładać, że każdy motyw i dostawca wyszukiwania generuje taki sam wynik.
Dyrektywa disallow w robots.txt może ograniczyć skanowanie, ale nie gwarantuje usunięcia z indeksu. Robot zablokowany przed wejściem na stronę nie odczyta jej dyrektywy noindex. Adresy kanoniczne są sygnałami, a nie zamiennikiem każdej decyzji o kontroli skanowania. Zachowaj użyteczne ścieżki kategorii i paginacji oraz sprawdź rzeczywisty format adresów URL filtrów przed zastosowaniem reguł parametrów.
Przy planowaniu indeksowalnych stron docelowych korzystaj z poradnika nawigacji oraz poradnika adresów URL i przekierowań. Testuj odnajdywanie produktów łącznie przez wyszukiwanie, nawigację po kategoriach i filtry.
O co zapytać programistę lub agencję
- Które wersje modułów, modyfikacje motywu i dostawcy wyszukiwania obsługują autouzupełnianie, pełne wyniki i fasety oraz czy ich funkcje mogą się nakładać?
- Gdzie są przechowywane aliasy, reguły rankingu i przypisania szablonów oraz jak zostaną zachowane po zmianie rozwiązania?
- Która ścieżka importu odświeża poszczególne indeksy, kto monitoruje błędy i jaka jest procedura przywracania działania?
- Gdzie jest wypełniony arkusz zapytań, obejmujący ceny dla grup klientów, produkty z ograniczonym dostępem i kontrole języków?
- Które filtrowane strony powinny być indeksowalne i co faktycznie zawierają ich wygenerowane dyrektywy canonical i robots?
- Kto zatwierdza przełączenie działającego sklepu, nadzoruje pierwszy późniejszy import i przywraca poprzednią konfigurację wyszukiwania, jeśli testy odbiorcze się nie powiodą?
Pytania właścicieli sklepów
Czy mogę przetestować nowe rozwiązanie bez utraty obecnych reguł wyszukiwania?
Przed próbą zachowaj eksport lub pisemny wykaz aliasów, reguł promowania wyników, przekierowań i szablonów filtrów. Zapytaj, które reguły można zaimportować, a które trzeba odtworzyć. Zachowaj starą konfigurację, dopóki nowe rozwiązanie nie przejdzie tych samych testów odbiorczych.
Czy lepsze wyszukiwanie na pewno zwiększy sprzedaż?
Nie ma gwarancji wzrostu. Porównuj wartościowe kliknięcia produktów, zrealizowane zamówienia i skargi kierowane do obsługi, a także odsetek zapytań bez wyników i szybkość. Uwzględnij stany magazynowe, kampanie i sezonowość popytu; użytkownicy wyszukiwarki już różnią się od osób tylko przeglądających ofertę, więc sam wyższy współczynnik konwersji nie dowodzi, że spowodowała go zmiana.
Co nasi pracownicy powinni umieć utrzymywać po wdrożeniu?
Poproś o przekazanie rozwiązania w taki sposób, aby pracownicy samodzielnie dodali alias, poprawili właściwość produktu, przeanalizowali zapytanie bez wyników i rozpoznali nieudane zadanie indeksowania. Zapisz, kto może zmieniać reguły rankingu, a kto obsługuje awarie techniczne, aby rutynowe zmiany katalogu nie wymagały zgłoszenia do agencji.