본문 바로가기

DevStory

[Crescent] Lucene으로 개발한 Http 기반의 검색엔진

9월 마감이 예정되어 있는 공개소프트웨어 개발자대회에 출품하려고 준비했던 프로그램입니다.


루씬을 사용한 검색엔진으로는 이미 아파치에서 나온 너무나도 출중한 Solr가 있습니다.


제가 만든 이 프로그램도 Solr를 모티브로 하여 개발을 하게 되었습니다. 그래서 사용법등이

Solr랑 비슷한 점도 많구요.. indexingUtil.jar 같은 경우는 Solr의 소스를 보고 많이 따라하기도 

했습니다. 프로젝트명도 태양을 뜻하는 Solr를 따라가고 싶지만 한 없이 모자람을 뜻하기 위해

Crescent(초승달)로 지었습니다. ㅋㅋ


상용 솔루션을 대체 하기위한 프로그램은 아닙니다.


그리고 제가 왜 이렇게까지 검색엔진 개발이라는.. 사실 상용에 사용하기에는 턱 없이 부족하고

엔진을 개발하기에도 실력과 준비도 부족한 상황에서 이 검색엔진 개발에 매달리고 있는지도 잘 모르겠습니다.


그저 5년전 소광진대표님으로부터 시작된 저의 작은 임무에 그냥 작은 마침표라도 하나 찍고 싶었던 것 같습니다.

그때부터 여러 업무를 하면서도 요것에 대한 끈을 놓지 못 하고 있었던 것 같습니다.


컨셉은 누군가 프로토타입으로 검색엔진이 필요한 뭔가를 개발 할 때

혹은 가볍게 사용하고 싶을 때 복잡한 설정을 모두 피하고 가볍게 한번 적용해볼만한  검색엔진을 만들어보고 싶었습니다.


그것이 결국은 스펙아웃 + 일정단축이라는 이상한 곳에 사용되어 지금 요런 정도의 초벌구이가 나왔네요 ㅎㅎㅎ

정말 색인/검색만 됩니다. ㅋ


https://github.com/need4spd/crescent


소스.. 어렵지 않습니다. 기능이 별로 없거든요.

하지만 그만큼 보시기는 쉬우실거고... 그만큼 고쳐야 할 곳도 많이 보일거에요.

pull request, fork 매우 환영합니다. ^^


여기에 사용된 형태소분석기는 이수명님께서 개발하신 한글형태소분석기(http://cafe.naver.com/korlucene)와

제가 예전에 개발했던 키워드추출모듈을 조합하여 개발하였습니다.

(https://github.com/need4spd/lucene-korean-analyzer)


시작은했고..

그냥 작은 쉼표를 하나 찍기 위해서 굉장히 급하게 정리를 해버린 모습이지만

어쨎든 마음은 좀 홀가분하네요 ㅋㅋ 이제 기능 개선.. 가장 급한건 관리자기능과 사전관리 기능 추가를 하면서...

전부터 좀 더 공부하고 싶었던

Objective-C와 node.js에 시간을 좀 줘야겠네요~


올해도 참가상 한번 받는겁니다. ㅋㅋ