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:

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

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ć.

, , ,