Pour répondre à vos questions :
-
Utiliser %input% est très mauvais . Cela entraînera une analyse complète de la table à chaque requête. Sous n'importe quelle charge ou même sur un ensemble de données volumineux, votre serveur de base de données s'étouffera.
-
Un SGBDR seul n'est pas une bonne solution pour cela. Vous cherchez au bon endroit en recherchant une solution distincte pour la recherche. Quelque chose qui peut bien communiquer avec votre RDBMS est bon; quelque chose qui s'exécute à l'intérieur d'un SGBDR ne fera pas ce dont vous avez besoin.
-
La recherche en texte intégral dans MySQL est réalisable pour les recherches par mots clés très basiques, rien de plus. La portée de l'utilité est extrêmement limitée - vous avez besoin d'un modèle d'utilisation hautement prévisible pour tirer parti de la recherche intégrée. C'est ce qu'on appelle la "recherche", mais ce n'est pas vraiment la façon dont la plupart des gens le pensent. Comparé à la qualité des résultats de recherche que nous attendons de Google et de Bing, cela ne se compare pas. Dans ce sens du mot "recherche", c'est autre chose - comme Notepad vs Word. Ce sont tous les deux des choses à taper, mais c'est à peu près tout.
En ce qui concerne les systèmes séparés pour gérer la recherche, Lucene est très bon. Lucene fonctionne comme vous le souhaitez, essentiellement. Vous pouvez interagir avec lui par programmation pour insérer des documents indexables. De même, un Google Appliance (pas Recherche personnalisée Google ) peuvent recevoir des méta-flux directs qui exposent tout ce que vous souhaitez indexer, comme des données provenant directement d'une base de données.