2011-06-01 4 views
1

J'ai une collection statique de plus de 300 000 fichiers texte et html. Je veux être capable de les rechercher des mots, des expressions exactes, et idéalement des motifs regex. Je veux que les recherches soient rapides.Comment indexer 300 000 fichiers texte pour la recherche?

Je pense que la recherche de mots et de phrases peut être faite en recherchant un dictionnaire de mots uniques faisant référence aux fichiers qui contiennent chaque mot, mais y a-t-il un moyen d'obtenir une correspondance rationnelle raisonnable?

Cela ne me dérange pas d'utiliser un logiciel existant s'il en existe.

+0

Vous ** ne me dérange pas l'aide du logiciel exsiting **? Sérieusement, ce problème est trop complexe pour une personne à mettre en œuvre en temps opportun. Cela n'appartient pas ici. –

+0

Oui, la recherche rapide d'expressions régulières est possible, comme le montre la page http://www.google.com/codesearch. Mais je n'ai aucune idée de comment ils ont fait ça. –

+0

Ils sont Google, c'est comme ça. – jtbandes

Répondre

4
+0

Lucene prend-il en charge les recherches avec des expressions régulières? –

+0

Oui, voir http://lucene.apache.org/java/2_3_2/api/contrib-regex/org/apache/lucene/search/regex/RegexQuery.html – tofutim

+0

Vérification maintenant, merci pour la suggestion. – Bicubic

1

Il y a un certain groupe disponible sur le marché qui vous aidera à atteindre ce que vous voulez, certains sont ouvert source et des prix est livré avec:

Opensource:

elasticsearch - basé sur Lucene

constellio - basé sur Lucene

Sphinx - basé sur C++

Solr - construit sur Lucene

Questions connexes