Question

Je voudrais parler de mon petit projet, et si je suis sur la bonne voie. Je besoin de travailler avec tous les articles de Medline ( http: //www.nlm. nih.gov/bsd/licensee/2011_stats/baseline_doc.html ). Pour ceux qui ne sont pas familiers avec la base de données Medline, ajouter un peu d'information:

  • Il y a environ. 20.000.000 des dossiers (83,4 Go d'espace disque), chacun a de nombreux domaines et sous-domaines.
  • Vous pouvez télécharger ce DB (avec licence) au format XML.
  • Ces 20M d'enregistrements sont distribués dans 653 fichiers.
  • Chaque fichier a un MedlineCitationSet, et cela un ensemble d'enregistrements (MedlineCitation de).

Je veux traiter ces dossiers et obtenir des informations telles que le titre, résumé ... Je l'ai pensé à indexer ces fichiers (ou dossiers) avec python et MongoDB. Et j'ai une option:

J'ai créé un analyseur de MEDLINE et pour chaque enregistrement est créé une entrée JSON pour MongoDB, et après l'indexation par pubmedID. Ensuite, je peux créer une fonction get_abstract aime ( 'pubmedID'):. Chaîne

Mes questions sont les suivantes:

  • Est-ce une bonne idée? (Analyse syntaxique XML -> JSON -> insert et indexation)
  • Puis-je utiliser GridFS et obtenir des morceaux équivalents aux dossiers pour chaque fichier? Comment?
  • Est-ce que vous savez autrement?
Était-ce utile?

La solution

Est-ce une bonne idée? (Analyse syntaxique XML -> JSON -> insert et indexation)

Est-ce que ça marche? JSON a tendance à être plus petit que XML, ce qui est probablement un bon changement.

On peut utiliser I GridFS et obtenir des morceaux équivalents aux dossiers pour chaque fichier? Comment?

GridFS est généralement pour stocker des fichiers statiques comme des images ou des vidéos. MongoDB peut prendre en charge des documents très importants ( 16MB de plusieurs romans ). Le texte pour un article MEDLINE va probablement être beaucoup plus petite que cela.

Si vous êtes l'intention de stocker du texte, vous ne devriez pas avoir besoin des GridFS. Si vous voulez stocker des images, puis GridFS est utile pour le faire.

S'il vous plaît lire sur GridFS . Notez que GridFS est juste une spécification. Tout est encore stocké à l'intérieur des collections régulières MongoDB.


PS: il ressemble à pubmedID est une clé unique. Vous pouvez économiser de l'espace en remplaçant la _id avec pubmedID lors de la création du document.

i.e.:. collection.insert({"_id": xml_obj.pubmedID, "text" : xml_obj.article_text})

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top