검색엔진을 만들려구현해보려고 합니다. 일단 회사업무반?+개인적용도반?의 이유 때문에 시작했지만 잘 진행되면 더 규모있는 솔루션으로 발전시키거나 자체 서비스도 해볼까 싶기도합니다.
일단 웹크롤러는 작성 중입니다.
크롤링한 수집데이터를 어떻게 관리하냐가 문제인데 RDBMS로는 Fulltext Search가 힘들겠더라군요. 그래서 알아본 솔루션은 3가지입니다.
1. Solr + Lucene
2. Elasticsearch (Lucene Based)
3. MongoDB
세가지 중의 하나로 고를까 싶습니다.
루씬이 전문검색도 잘되고 쓰기도 쉬운데 단점은 10기가가 넘는 데이터에 대해서는 성능이 급격히 떨어진다는 얘기가 있구요.
ElasticSearch도 루씬기반이라 같은 문제가 있을 것 같긴한데 분산환경도 잘 지원하는 것 같구요... Solr+루씬에 비해 쓰는게 좀더 편할듯하고...
MongoDB는 NoSQL군 중에서 가장 쓰기 편하더군요.