lucene에 hadoop 적용

1. lucene를 이용하여 index 구성시 hadoop 파일시스템에서 바로 index 파일을 생성하지 못한다. 이유는 hadoop 파일 시스템에서는 RandowmAccessFile 기능/lock 기능 등과 같은 기능이 제공되지 않기 때문이다.
nutch의 경우 이런 제약으로 인해 local filesystem에서 index 파일을 만든 후 최종 파일을 hadoop 파일시스템으로 upload 한다.

2. hadoop에서의 검색 처리 속도
테스트를 위해 천만건의 Document를 다음과 같이 만든 후 테스트를 수행해 보았다.

doc.add(new Field("contents", String.valueOf(seq), Field.Store.YES, Field.Index.NO));
doc.add(new Field("filename", String.valueOf(seq), Field.Store.NO, Field.Index.UN_TOKENIZED));


index 파일의 크기는 300MB 정도이고 검색은 "filename" field에 대해 적용하였다. "finename" field는 key 값이다.

1건 : 123ms
10건 : 250ms

분석해보면 최초 100ms 정도는 index 정보에 대한 로딩 속도이고 나머지 20ms 정도가 1건 검색하는데 걸리는 속도라고 볼수 있다. 이 정도면 hadoop 파일시스템 내에 index를 저장하여 검색해도 속도면에서는 문제가 되지는 않을 듯한데... 좀 더 크고 실제 데이터를 가지고 테스트해봐야 정확한 결과가 알수 있을 것 같다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 김형준


Trackback URL : http://www.jaso.co.kr/trackback/119

Leave a comment
« Previous : 1 : ... 298 : 299 : 300 : 301 : 302 : 303 : 304 : 305 : 306 : ... 388 : Next »