검색엔진 (2) - 라이브러리: Lucene, Solr, Elasticsearch

by 조쉬 posted Dec 08, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

검색엔진 라이브러리

검색엔진 라이브러리에 대해 알아본다. lucene, solr, elasticsearch.

Lucene

검색이야기 with Lucene, solr

검색 프로세스는 기본적으로

  1. 데이터 수집(웹 스파이더링) - 50%
  2. 데이터 인덱싱 - 40%
  3. 데이터 검색 - 10%

로 나뉘어진다.

루씬은 이 과정에서 인덱싱과 검색의 API를 제공하는 코어 엔진이다. 원래 Java로 개발되었으며 현재는 Perl, Python, C++, php 등 다양한 언어로 포팅되어 있다.

참고

한국어

최근 lucene-Korean-Analyzer 프로젝트의 근황
루씬기반인 한국어 형태소분석기를 제공하는 다봇
역시 오픈소스 라이브러리를 이용하여 프로젝트를 하려면 항상 한국어가 걸림돌이다. 위 링크를 참고하자.

스핑크스(Sphinx)

검색엔진 루씬(Lucene)과 스핑크스(Sphinx) 소개
검색엔진 스핑크스 Sphinx 도입
Sphinx 사소한 팁 몇가지
스핑크스. 루씬보다 빠르고, 적용이 간단하다고 한다.

Solr

Joinc: Solr로 로컬 검색서비스 만들기
루씬을 한번 더 래핑한 오픈소스. 인덱싱과 검색은 루씬엔진을 사용하고, http 통신 및 관리툴을 제공한다.

참고
[SOLR 강좌] SOLR 소개
Ubuntu install SOLR KOR(SOLR 설치하기 한글 형태소분석기)

Elasticsearch

elasticsearch로 로그 검색 시스템 만들기
솔라와 마찬가지로 루씬 기반의 검색엔진. 멘토님의 말씀도 그렇고 전반적으로 솔라가 더 평가가 좋은 듯 싶다.

Solr vs Elasticsearch

Solr vs ElasticSearch : 무려 6개의 포스팅으로 구성된 장문의 글.
Solr vs. ElasticSearch : 스택오버플로. 당연히 영어!
System Properties Comparison Elasticsearch vs. Solr vs. Sphinx