IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Creer un index d'un fichier texte


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Points : 66
    Points
    66
    Par défaut Creer un index d'un fichier texte
    Salut !

    j'aimerai stocker le contenu d'un fichier afin d'effectuer des requetes dessus (par exemple, est ce que le fichier contient toto et titi ou tutu, etc..)

    le truc se fait en deux fois :
    premiere partie, on creer un nouveau fichier index a partir du fichier texte
    seconde partie, on renvoie le resultat des requetes a partir du fichier index


    Au début, je voulais creer une table de hachage qui contient en clé le mot, et en valeur une liste de numero de ligne ou il apparait, en parsant mot a mot le fichier texte.

    Probleme, en Java, le tas explose.

    J'ai tenté en creer une redirection, cad une table de hachage differente pour chaque premiere lettre des mots (genre une table pour les mots qui commencent par a, ...)

    mais bon, apparement, il y a toujours autant de mots stockés dans ca explose pareil.

    j'ai encore vaguement une idée qui serait de parser le fichier texte petit a petit, en mettant dans un table et en ecrivant dans le fichier, puis liberer la table et parser a la suite, etc..
    probleme, on risque de se retrouver avec plusieurs entrées identiques dans le fichier index final..
    et de toute facon, il faudra surement creer une nouvelle table de hachage a partir du fichier index pour effectuer les requetes..

    bref, chuis bloqué

    a+

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    j'avais fait un truc de ce type en cours de "moteurs de recherche"... si ça t'intéresse, je peux de mailer tout le projet
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Avant de rentrer dans la structure de l'index, Il me semble qu'il y a un souci à ce niveau-là :
    Probleme, en Java, le tas explose.
    On travaille plus comme dans les années 80 avec 64K de RAM.
    Avant d'atteindre les limitations du tas JAVA, il faudrait des textes de plusieurs dizaines de MégaOctets.

    Ce problème de taille de tas ne devrait donc pas se produire (à résoudre en priorité).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. [XSLT] Créer un fichier text
    Par FlyByck dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 03/08/2007, 12h56
  2. creer fichier texte
    Par rodgeurette dans le forum Visual C++
    Réponses: 1
    Dernier message: 13/07/2007, 13h49
  3. creer un fichier texte si inexistant
    Par kalou26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 05/06/2006, 14h45
  4. Créer fichier texte
    Par wareq dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 29/09/2005, 22h36
  5. Réponses: 29
    Dernier message: 28/07/2005, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo