오늘도 도서관에 왔는데, 하고자 한 논문번역은 뒤로 하고 루씬(Lucene)의 파일시스템 분석하고, Lupy 소스 분석을 하고 있다.
Lupy는 Lucene의 Python구현버전으로 1.2 까지의 기능을 구현하고 있다. 솔직히 이 Lupy를 실제 쓰려고 하는건 아니고, Lucene을 분석하기가 좀 버거워서 읽기쉬운 Lupy를 선택해서 보고 있었다. 역시나 그런데 소스를 보자니 좀 복잡하긴 하다. 전체적으로 역파일 구조로 되어 있는건 알겠는데, 소스 한줄한줄 읽어볼라니 이리 갔다 저리 갔다 하는게 영 갈피가 안잡힌다. 차라리 내가 구현을 해보는게 빠를꺼라는 생각도 살짝 들기는 한다.
Lupy 말고 다른 언어로 포팅된걸 찾아보려면 이곳에 가면된다.
C로만 만들어진 Lucene4c가 새로이 추가된걸 볼수 있었다. 아직 소스공개는 안하는거 같던데, 차라리 C코드가 보기 편할거라는 생각이 드는군.
Lupy 테스트 코드를 돌려보니 문서 30개를 인덱싱하는데 1.5 ~ 1.6 초가 걸린다. (뭐 이거는 운영환경에 따라 다르겠지만, Java보다 훨씬 느린거 같다.)
내부 테이블구조가 어떻게 되어 있는지 대충 감은 오는데 일단 분석은 해봐야 할거 같다.
약간 File System의 구조에 대해서 좀 모자란 감이 있긴 하지만, 집에가서 조금 더 해보자구.
너무 오래 앉아있어서 허리가 아프군, 이제 논문번역 시작해야겠다. 이궁..
ps) 루씬 파일 시스템에 대해서 확 꿰고 계신분 있으면 좀 알려주세요. 사례는 하겠습니다. (술 한턱 정도는…)
Lucene 파일 시스템 공부하기 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.