Z pewnością nie!
Każde wyszukiwane hasło składające się wyłącznie z zablokowanych słów po cichu zakończy się niepowodzeniem. Słowa mogą być blokowane z powodu ograniczeń minimalnej/maksymalnej długości i/lub pliku stopword.
Uważam, że domyślny plik odrzucanych słów jest zbyt agresywny, uniemożliwiał wiele prawidłowych wyszukiwań. Również domyślna minimalna długość 4 była bardzo często stosowana w przypadku akronimów, których ludzie mogliby chcieć wyszukać. Zmniejszyłem ft_min_word_len do 3 i całkowicie usunąłem stoplistę (ft_stopword_file=''). Dokument:http://dev.mysql.com /doc/refman/5.1/en/fulltext-fine-tuning.html
Można również sprawdzić zapytanie wyszukiwania, aby sprawdzić, czy zawiera ono tylko <4-literowe słowa, iw takim przypadku wrócić do wyszukiwania LIKE. Nie ma tak łatwego sposobu na obejście listy stop na poziomie aplikacji.
Wybór „znaków słownych” może nie odpowiadać Twoim potrzebom i trudno go zmienić. Na przykład wyszukiwanie „Terry” nie będzie pasować do „Terry's”. Ogólnie rzecz biorąc, nie ma wsparcia dla żadnego rodzaju łodygi, więc „herbatnik” również nie pasuje do „herbatników”.
Wreszcie, jak wspomniał cg, nie ma wsparcia dla InnoDB. W dzisiejszych czasach nie chcesz umieszczać wszystkich swoich danych w tabeli MyISAM.
Jeśli masz wolne miejsce, możesz umieścić główną, kanoniczną wersję danych w tabeli InnoDB, a następnie utworzyć oddzielną tabelę MyISAM, która zawiera kopię zawartości dowolnego tekstu, wyłącznie do użytku jako przynęta wyszukiwania. Musisz zaktualizować obie tabele w przypadku zmiany, ale jeśli tabela MyISAM utraci integralność, to przynajmniej stracisz możliwość przeszukiwania odpowiednich wierszy, zamiast podpalania rzeczywistych danych i otrzymywania błędów aplikacji.
Możesz wtedy, jeśli masz wolne cykle, zaimplementować własne przetwarzanie tekstu w wyszukiwarce i zapytaniach, aby ominąć niektóre z powyższych ograniczeń. Na przykład możesz zmienić znaczenie znaków, które chcesz zmienić w słowa-znaki, usunąć znaki, które nie mają być słowem-znakami, i wykonać proste ręczne rdzennie w języku angielskim.