2011-05-03 2 views
3

나는 내 작은 프로젝트에 대해 언급하고 싶다. Medline (http://www.nlm.nih.gov/bsd/licensee/2011_stats/baseline_doc.html)의 모든 기사 작업이 필요합니다. Medline 데이터베이스에 익숙하지 않은 분들을 위해 약간의 정보를 추가하겠습니다.파이썬과 mongoDB로 20M의 레코드 인덱싱

  • 약 있습니다. 20.000.000 개의 레코드 (83.4GB 디스크 공간)에는 각각 많은 필드와 하위 필드가 있습니다.
  • 이 DB (라이센스 포함)는 XML 형식으로 다운로드 할 수 있습니다.
  • 이 20M 레코드는 653 개의 파일로 배포됩니다.
  • 모든 파일에는 하나의 MedlineCitationSet이 있으며이 레코드 세트 (MedlineCitation 's)가 있습니다.

나는 이러한 레코드를 처리하고 제목, 초록 등의 정보를 얻고 싶습니다. 그리고 나서 파이썬과 mongodb를 사용하여 이러한 파일 (또는 레코드)에 대한 색인을 생성하려고합니다. 그리고 하나의 옵션이 있습니다 :

나는 medline 파서를 만들었고 각 레코드는 mongoDB를위한 JSON 항목을 만들고 pubmedID로 색인을 생성 한 후에 만들어졌습니다. 그런 다음 get_abstract ('pubmedID') : string과 같은 함수를 만들 수 있습니다.

내 질문은 : 좋은 생각

  • 인가? (XML 구문 분석 -> JSON -> 삽입 및 색인 생성)
  • GridFS를 사용하여 각 파일에 대한 청크 파일을 얻을 수 있습니까? 방법?
  • 다른 방법을 알고 계십니까?
+3

그것은 작동합니까? 그럼 좋았어. 문제가 있습니까?그렇다면 실제 발생한 문제를 알려주십시오. 진짜 질문은 GridFS를 사용하는 방법과 같이 매우 간단합니다. 아마도 당신은 구체적으로 필요한 도움에 집중해야합니다. "너는 다른 길을 안다"는 것은 바보 같은 질문이며, 무한한 다른 방법이 있으며, 그 중 대부분은 나쁜 생각이다. –

+0

S.Lott 감사합니다! 예, 내 exatc 질문은, 어떻게 Medline 파일과 GridFS를 결합 할 수 있을까요? àlex. –

+0

XML2JSON 파서에 문제가 있습니다.이 XML은 사소한 것이 아니기 때문에 GridFS가 저에게 도움이 될지 모르겠습니다 ... –

답변

2

좋은 생각인가요? (XML 구문 분석 -> JSON -> 삽입 및 색인 생성)

작동합니까? JSON은 XML보다 작아지는 경향이 있습니다. 이는 아마도 좋은 변화 일 것입니다.

GridFS를 사용하여 각 파일의 레코드에 청크를 사용할 수 있습니까? 방법?

GridFS는 일반적으로 이미지 또는 비디오와 같은 정적 파일을 저장하기위한 것입니다. MongoDB는 매우 큰 문서 (16MB == 여러 소설)를 지원할 수 있습니다. medline 기사의 텍스트는 아마도 이보다 훨씬 작을 것입니다.

방금 ​​텍스트를 저장할 계획이라면 GridFS가 필요하지 않습니다. 이미지를 저장하려면 GridFS가이 작업을 수행하는 데 유용합니다.

GridFS here에서 읽으십시오. GridFS는 단지 명세에 불과합니다. 모든 것은 여전히 ​​일반 MongoDB 콜렉션 안에 저장됩니다.


추신 : pubmedID은 고유 키입니다. 문서를 만들 때 으로 _id을 무시하여 공간을 절약 할 수 있습니다.

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

+0

대단히 고마워요 !!! 예, pidmedID를 _id로 사용합니다 !! :디 –