아주 먼 옛날.... 한 6년전쯤? GS모사에 있을때 루씬으로 처음 검색엔진 만들어보고자 했을때 한글 분석기가 없어서 세종프로젝트의 양해를 구해 명사 사전을 받아 단순 탐색+매칭으로 명사추출을 시키고, 스테머, 동의어필터등을 구현해서 만들어왔던 프로젝트가 하나있습니다.
https://github.com/need4spd/lucene-Korean-Analyzer
인데요.. 이게 그로부터 1-2년 후 이수명님께서 한글형태소분석기를 개발해 오픈(http://cafe.naver.com/korlucene)해주시면서 제가 그 형태소분석기를 명사추출 모듈의 하나로 사용하여 필터를 보강하였고, 현재 crescent를 gradle build하면 바로 이 라이브러리를 다운받아 사용하도록 되어있습니다.
최근에 이수명님의 한글형태소분석기가 arirang이라는 이름으로 루씬에 정식으로 contribute가 되어서 아마 정식으로 analyzer 패키지에 build되어 나오는 것으로 알고 있습니다.(짝!짝!짝!) 그래서 이 프로젝트도 그만 접을까 하다가... 루씬의 Analyzer를 공부하기엔 나름 괜찮을듯하여 그냥 남겨두고 대신 루씬 3.X 기반은 더 이상 건드리지 않고 4.X 버전만 조금씩 고쳐보기로 했습니다. 4.X 컨벤션에 맞도록 수정해보는 것도 재미있을것 같고요.
다만, 처음 만들었던 형태가 offset을 증가시키면서 미리 읽어놓은 사전의 키워드와 매칭해서 추출하는 아주 단순한 형태였기 때문에, 색인키워드 추출의 많은 부분을 가급적 이수명님께서 개발하신 형태소분석기와 사전에 의존하도록 수정을 하는 형태로 변경하려고 합니다. 굳이 사전도 2중으로 넣어놓을 필요가 없을듯 하고요..
대신, 복합명사, 사용자명사, 동의어, 불용어 사전만 유지하여 Filter로 사용되도록 기존에 들어있던 사전들을 정리하였습니다.
또한, 테스트케이스들을 새로 정비하여 push하였습니다. :)