2009-06-28 6 views
0

Je vais mettre en place une application Web en utilisant Rails avec MySQL fonctionnant sur un petit VPS CentOS. (Petit serveur, base d'utilisateurs limitée pour commencer.) Il va stocker beaucoup de texte, un peu comme un blog. Je voudrais offrir des options de recherche solides - parens, AND, OR, phrase exacte. L'autre élément est que les données sont privées, donc l'utilisation de Google ou d'un autre fournisseur de recherche hébergé de l'extérieur est probablement hors de la table. J'ai une certaine expérience avec les fonctionnalités de recherche de texte intégral de PostgreSQL, mais pour cela, ça va être MySQL. J'ai vérifié les documents MySQL et je ne pense pas que les index de texte intégral de MySQL sonnent trop bien.Options de recherche de texte pour une application Web?

Qu'en est-il juste d'utiliser %LIKE% requêtes? Est-ce que c'est déjà fait? Si je faisais cela, cela signifierait-il que le moteur DB devrait examiner chaque caractère de la colonne pour chaque recherche? Je ne suis pas certain de ça.

Des idées ou des conseils seraient appréciés.

Répondre

3

fonctionnalité de recherche de texte intégral MySQL est assez limité (MyISAM seulement, et bien d'autres limitations en plus) - mais, Sphinx est très forte, et il peut parler propre protocole de MySQL pour qu'il puisse « assis » à droite entre votre client et votre serveur MySQL, en passant la plupart des requêtes directement mais en traitant celles en texte intégral, si c'est comme ça que vous voulez l'installer et l'utiliser (il y a bien sûr d'autres options!).

0

Ferret est un port rubis de Lucene. Ce site semble avoir des problèmes en ce moment. Vous pouvez lire un peu plus au O'Reilly.

4

Une discussion précédente à ce sujet. J'ai personnellement utilisé Ferret en production, Sphinx en quasi-production, et Xapian avec qui tourner. À moins que j'aie absolument besoin d'une mise en évidence facile du texte des résultats, je choisirais Sphinx pour un nouveau projet aujourd'hui.

What's the best option for searching in Ruby on Rails?

How do I do full-text searching in Ruby on Rails?

Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?

Questions connexes