Řešení vašich bodů:
-
Použití %input% je velmi špatné . To způsobí úplné prohledání tabulky každý dotaz. Při jakémkoli zatížení nebo dokonce na vzdáleně velké datové sadě se váš DB server zadusí.
-
Samotný RDBMS pro to není dobré řešení. Hledáte na správném místě hledáním samostatného řešení pro vyhledávání. Něco, co dokáže dobře komunikovat s vaším RDBMS, je dobré; něco, co běží uvnitř RDBMS, nebude dělat to, co potřebujete.
-
Fulltextové vyhledávání v MySQL je funkční pro velmi základní vyhledávání klíčových slov, nic víc. Rozsah užitečnosti je extrémně omezený – k využití vestavěného vyhledávání potřebujete vysoce předvídatelný model použití. Říká se tomu „hledání“, ale ve skutečnosti to není vyhledávání tak, jak si to většina lidí představuje. Ve srovnání s kvalitou výsledků vyhledávání, kterou jsme od Googlu a Bingu očekávali, se to nedá srovnávat. V tomto smyslu slova "hledat" je to něco jiného - jako Poznámkový blok vs Word. Obojí je potřeba zadat, ale to je tak vše.
Pokud jde o samostatné systémy pro zpracování vyhledávání, je Lucene velmi dobrý. Lucene funguje, jak chcete, v podstatě. Můžete s ním programově pracovat a vkládat indexovatelné dokumenty. Stejně tak Google Appliance (nikoli Vlastní vyhledávání Google ) mohou mít přímé meta zdroje, které odhalují vše, co chcete indexovat, například data přímo z databáze.