아파치 루씬

아파치 루씬(Apache Lucene)은 자바 언어로 이루어진 정보 검색 라이브러리 자유-오픈 소스 소프트웨어이며 더그 커팅에 의해 개발되었다. 아파치 소프트웨어 재단에 의해 지원되며 아파치 라이선스 하에 배포된다.

추가적인 개발을 통해 기존의 자바 언어 이외에 오브젝트 파스칼, 펄, C 샤프, C++, 파이썬, 루비, PHP 등 다른 프로그래밍 언어를 사용할 수 있도록 변경되었다.

역사 
더그 커팅은 아파치 루씬을 1999년에 개발하였다. 처음에는 SourceForge 웹 사이트에서 다운로드 할 수 있었다. 2001년 9월에 아파치 소프트웨어 재단의 자카르타 프로젝트에 합류하여 2005년 2월에 자체 최상위 아파치 프로젝트가 되었다. 루씬이라는 이름은 더그 커팅의 아내의 중간 이름과 그의 할머니의 이름이다.

아파치 루씬은 이전에 Lucene.NET, 아파치 머하웃, 티카 및 너치와 같은 여러 하위 프로젝트를 포함시켰다. 이 프로젝트들은 현재 최상위 프로젝트로 독립한 상태이다.

2010년 3월 아파치 솔라 검색 서버는 루씬의 하위 프로젝트로 합류하고 개발자 커뮤니티가 통합되었다.

주요 기능 
전문 검색(Full text) 색인 및 검색 기능을 필요로 하는 모든 응용 프로그램에 적합하지만 루씬은 웹 검색 엔진 및 로컬 단일 사이트 검색 구현에서의 유용성으로 널리 알려져 있다.

루씬은 편집 거리를 기반으로 퍼지 검색을 수행하는 기능을 포함한다.

루씬은 또한 추천 시스템을 구현하는데 사용되고 있다. 예를 들어, 루씬의 'MoreLikeThis' 클래스는 유사한 문서에 대한 추천을 생성할 수 있다.

루씬 논리 아키텍처의 핵심은 텍스트를 가지고 있는 필드를 포함하는 문서의 개념이다. 이러한 유연성이 루씬의 API가 파일 형식과 독립적으로 만들어주었다. PDF, HTML, 마이크로소프트 워드, 마인드맵 및 오픈도큐먼트 뿐만 아니라 많은 다른 정보(이미지 제외)의 텍스트 정보는 추출 할 수 있는 한 모두 색인을 생성할 수 있다.

루씬 기반 프로젝트들 
루씬 그 자체는 색인 및 검색을 제공하는 라이브러리이며, 웹 크롤러나 HTML 구문 분석 등의 기능은 포함하지 않는다. 하지만 다양한 프로젝트가 루씬의 기능을 확장한다.

 아파치 너치 - 웹 크롤러 및 HTML 구문 분석 제공
 아파치 솔라 - 엔터프라이즈 검색 서버
 Compass - 엘라스틱서치의 전신
 CrateDB - 오픈소스, 루씬을 기반으로 하는 분산 SQL 데이터베이스
 DocFetcher - 크로스 플랫폼 데스크톱 환경 검색 애플리케이션
 엘라스틱서치 - 2010년에 만들어진 엔터프라이즈 서버
 Kinosearch - 약간의 루씬 포팅과 함께 펄과 C로 작성한 검색 엔진. Socialtext의 위키, 모조모조 위키 엔진, Human Metabolome Database(HMDB)와 Toxin and Toxin-Target Database(T3DB)에서 사용한다.
 Swiftype - 루씬 기반의 엔터프라이즈 서버 스타트업

루씬 사용자들 
확장기능이 포함되지 않은 루씬 사용자들은 루씬의 "Powered By" 페이지 참조. 예를 들어 트위터는 실시간 검색을 위해서 루씬을 사용하고 있다.

각주

외부 링크 
  공식 웹사이트

아파치 소프트웨어 재단 프로젝트
자바 라이브러리
크로스 플랫폼 소프트웨어
자유 소프트웨어
웹 애플리케이션
아파치 라이선스 소프트웨어
파스칼 소프트웨어
자유 검색 엔진 소프트웨어
검색 엔진 소프트웨어