Full-text search (wyszukiwanie pełnotekstowe) to mechanizm przeszukiwania treści dokumentów z użyciem indeksów, który uwzględnia trafność wyników, odmianę słów i ich kolejność, a nie tylko dokładne dopasowanie fragmentu.
Dlaczego nie wystarczy LIKE?
Zapytanie LIKE '%fraza%' nie wykorzystuje indeksów, więc przy dużych tabelach jest wolne i nie ocenia trafności. Indeksy pełnotekstowe (np. FULLTEXT w MySQL) działają szybciej i sortują wyniki według dopasowania.
Kiedy sięgnąć po osobny silnik?
Gdy potrzebne są literówki, synonimy, filtrowanie fasetowe i duży wolumen danych, stosuje się dedykowane silniki, takie jak Meilisearch, Elasticsearch lub Typesense.
Silniki te stosują stemming, czyli sprowadzanie słów do podstawy, oraz ranking trafności, np. algorytm BM25.
Jak wdrożyć wyszukiwarkę na stronie?
W małej stronie wystarczy indeks FULLTEXT w MySQL i zapytanie z MATCH ... AGAINST. Gdy treści przybywa, warto dodać osobny silnik, który odciąży bazę. Zwróć uwagę na obsługę języka polskiego: odmiana słów wymaga słownika lub analizatora morfologicznego, bo prosty stemmer dla angielskiego nie sprawdzi się przy końcówkach fleksyjnych. Zapisuj zapytania użytkowników, bo pokazują braki w treści.
Czy wyszukiwarka wewnętrzna wpływa na SEO?
Pośrednio. Dobra wyszukiwarka poprawia konwersję i pokazuje, czego szukają użytkownicy. Strony wyników wyszukiwania zwykle blokuje się przed indeksowaniem.