Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

Wyszukiwanie pełnotekstowe w bazach MySQL

Wyszukiwarka oparta na porównywaniu treści, za pomocą instrukcji „LIKE”, przy kilku tysiącach rekordów jest całkowicie nie efektywne. Pomijając fakt iż wyświetla ona wyniki daleko odbiegające od ideału. Na szczęście SQL udostępnia mechanizm tzw. wyszukiwani pełnotekstowego (ang. full text search).

Pierwszym krokiem, jest przygotowanie tabeli. Aby nasza wyszukiwarka zadziałała, trzeba zmodernizować nieco pola w tabeli, które potem będą przeszukiwane. Załóżmy, że nasze zapytanie generowane przez wyszukiwarkę będzie skanować kolumny takie jak: textArticle oraz titleAarticle z tabeli article:

ALTER TABLE article ADD FULLTEXT(textArticle, titleArticle);

Teraz kiedy określiliśmy już odpowiednie pola w tabeli należy przygotować zapytanie. Będzie ona wyglądało w ten sposób:

SELECT * FROM article WHERE MATCH(textArticle, titleArticle) AGAINST ('szukana fraza');

Kiedy kod PHP uruchomi powyższy kod SQL, zostaną zwrócone najbardziej trafne wyniki (wyszukiwanie to działa podobnie jak wyszukiwarka Google). Na dodatek odpowiednio posortowane.

Jedynym minusem jest to, że wyszukiwarka może nie zwrócić żadnych rekordów dla mało popularnych fraz, ale za to działa lepiej niż „LIKE” oraz przy wielu rekordach będzie w miarę funkcjonować.

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

, , ,

Dodaj komentarz

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest