Aby zająć się swoimi punktami:
-
Używanie %input% jest bardzo złe . Spowoduje to skanowanie całej tabeli przy każdym zapytaniu. Przy dowolnym obciążeniu lub nawet zdalnie dużym zbiorze danych Twój serwer DB może się zadławić.
-
Sam RDBMS nie jest do tego dobrym rozwiązaniem. Szukasz we właściwym miejscu, szukając osobnego rozwiązania do wyszukiwania. Coś, co może dobrze komunikować się z twoim RDBMS, jest dobre; coś, co działa wewnątrz RDBMS, nie zrobi tego, czego potrzebujesz.
-
Wyszukiwanie pełnotekstowe w MySQL działa w przypadku bardzo podstawowych wyszukiwań słów kluczowych, nic więcej. Zakres użyteczności jest bardzo ograniczony - potrzebujesz wysoce przewidywalnego modelu użytkowania, aby wykorzystać wbudowane wyszukiwanie. Nazywa się to „wyszukiwaniem”, ale tak naprawdę nie jest to wyszukiwanie w sposób, w jaki myśli o tym większość ludzi. W porównaniu z jakością wyników wyszukiwania, której oczekujemy od Google i Bing, nie ma to porównania. W tym sensie słowa „szukaj” jest to coś innego – jak Notatnik kontra Word. Oba są rzeczami do wpisania, ale to wszystko.
Jeśli chodzi o oddzielne systemy do obsługi wyszukiwania, Lucene wypada bardzo dobrze. Lucene działa zasadniczo tak, jak chcesz. Możesz wchodzić z nim w interakcję programowo, aby wstawiać dokumenty, które można indeksować. Podobnie Google Appliance (nie Wyszukiwarka niestandardowa Google ) mogą otrzymać bezpośrednie meta-kanały, które ujawniają wszystko, co chcesz zindeksować, na przykład dane bezpośrednio z bazy danych.