아파치 루씬
1. 개요
아파치 루씬은 1999년 더그 커팅이 개발한 오픈 소스 전문 검색 라이브러리이다. 텍스트 색인 및 검색 기능을 제공하며, 웹 검색 엔진 및 단일 사이트 검색 구현에 유용하다. 편집 거리를 기반으로 한 퍼지 검색 기능과 추천 시스템 구현에도 사용된다. 루씬은 다양한 파일 형식의 텍스트 정보를 색인할 수 있는 유연성을 제공하며, 아파치 솔라, 너치, 엘라스틱서치 등 다양한 프로젝트의 기반이 된다. 트위터에서 실시간 검색을 위해 루씬을 사용하고 있다.
이미지 준비중입니다.
| 개발자 | 아파치 소프트웨어 재단 |
|---|---|
| 최초 출시 | 1999년 |
| 최신 버전 | 10.1.0 |
| 최신 버전 출시일 | 2024년 12월 20일 |
| 프로그래밍 언어 | 자바 |
| 운영체제 | 크로스 플랫폼 |
| 종류 | 검색 및 색인 |
| 라이선스 | 아파치 라이선스 2.0 |
| 웹사이트 | 아파치 루씬 공식 웹사이트 |
-
자유 검색 엔진 소프트웨어 -
아파치 너치
아파치 너치는 자바 기반의 오픈 소스 웹 크롤러 및 검색 엔진 프레임워크이며, 모듈식 아키텍처를 통해 플러그인 개발을 지원하고, 2010년부터 아파치 소프트웨어 재단의 독립적인 최상위 프로젝트로 운영된다. -
자유 검색 엔진 소프트웨어 -
YaCy
YaCy는 분산형 검색 엔진으로, 웹 페이지를 크롤링하고 색인하여 검색 결과를 제공하며, 개인 정보 보호, 검열 회피 등의 장점을 갖지만 NAT 통과 문제와 검색 속도 저하 등의 문제점도 존재한다. -
검색 엔진 소프트웨어 -
증분 검색
증분 검색은 사용자가 검색어를 입력하는 즉시 결과를 보여주는 사용자 인터페이스 방법으로, 자동 완성, 입력 중 검색, 타입어헤드 검색 등으로 불리며 사용자의 노력을 줄여준다. -
검색 엔진 소프트웨어 -
웹 크롤러
웹 크롤러는 웹 스파이더, 앤트 등으로 불리며 웹 페이지를 체계적으로 탐색하는 프로그램으로, 검색 엔진 인덱싱 및 데이터 수집 등에 사용되며 웹 사이트 성능에 영향을 미치지 않도록 정책을 고려하고 기술적 요소들을 포함한다. -
아파치 라이선스 소프트웨어 -
안드로이드 (운영체제)
구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다. -
아파치 라이선스 소프트웨어 -
쿠버네티스
쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈 소스 시스템으로, 구글의 Borg 시스템에서 영감을 받아 설계되었으며 파드, 서비스 등의 기능을 제공하여 클라우드 네이티브 환경에서 중요한 역할을 한다.
2. 역사
더그 커팅은 1999년에 아파치 루씬을 개발하였다. 루씬은 그의 다섯 번째 검색 엔진이었다. 그는 이전에 제록스 PARC에서 두 개, 애플에서 하나, 그리고 익사이트에서 네 번째 검색 엔진을 개발했다. 처음에는 SourceForge 웹 사이트에서 다운로드할 수 있었다. 2001년 9월, 아파치 소프트웨어 재단의 자카르타 프로젝트에 합류했고, 2005년 2월에 자체 최상위 아파치 프로젝트가 되었다. 루씬이라는 이름은 더그 커팅의 아내의 중간 이름이자 그의 외할머니의 이름에서 유래했다.
2010년 3월, 아파치 솔라 검색 서버가 루씬의 하위 프로젝트로 합류하여 개발자 커뮤니티가 통합되었다. 2021년 3월, 루씬은 로고를 변경했으며, 아파치 솔라는 다시 루씬에서 독립된 최상위 아파치 프로젝트가 되었다.
아파치 루씬은 이전에 Lucene.NET, 아파치 머하웃, 티카, 너치와 같은 여러 하위 프로젝트를 포함했으나, 현재는 모두 독립적인 최상위 프로젝트이다.
2.1. 주요 버전 릴리스
3. 주요 기능
전문 검색 색인 및 검색 기능을 필요로 하는 모든 응용 프로그램에 적합하지만, 루씬은 웹 검색 엔진 및 로컬 단일 사이트 검색 구현에 유용하다는 점으로 널리 알려져 있다.
루씬은 편집 거리를 기반으로 한 퍼지 검색을 수행하는 기능을 포함한다.
루씬은 또한 추천 시스템을 구현하는 데 사용되어 왔다. 예를 들어, 루씬의 'MoreLikeThis' 클래스는 유사한 문서에 대한 추천을 생성할 수 있다.
루씬 논리 아키텍처의 핵심은 텍스트를 가지고 있는 필드를 포함하는 문서의 개념이다. 이러한 유연성 덕분에 루씬의 API는 파일 형식과 독립적이다. PDF, HTML, 마이크로소프트 워드, 마인드맵 및 오픈도큐먼트 뿐만 아니라 많은 다른 정보(이미지 제외)의 텍스트 정보는 추출할 수 있는 한 모두 색인할 수 있다.
4. 루씬 기반 프로젝트
아파치 루씬은 자체적으로 색인 및 검색 기능을 제공하는 라이브러리이지만, 웹 크롤러나 HTML 구문 분석 기능은 포함하지 않는다. 하지만 다양한 프로젝트가 루씬의 기능을 확장한다.
* 아파치 너치 - 웹 크롤러 및 HTML 구문 분석 기능을 제공한다.
* 아파치 솔라 - 엔터프라이즈 검색 서버이다.
* Compass - 엘라스틱서치의 전신이다.
* CrateDB - 오픈 소스, 루씬 기반의 분산 SQL 데이터베이스이다.
* DocFetcher - 크로스 플랫폼 데스크톱 환경 검색 애플리케이션이다.
* 엘라스틱서치 - 2010년에 만들어진 엔터프라이즈 검색 서버이다.
* Kinosearch - 펄과 C로 작성된 검색 엔진이며, 루씬의 일부 기능을 포팅했다. Socialtext의 위키, 모조모조 위키 엔진, Human Metabolome Database(HMDB)와 Toxin and Toxin-Target Database(T3DB)에서 사용된다.
* MongoDB Atlas Search - MongoDB 및 아파치 루씬을 기반으로 하는 클라우드 네이티브 엔터프라이즈 검색 애플리케이션이다.
* OpenSearch - Elasticsearch 7의 포크를 기반으로 하는 오픈 소스 엔터프라이즈 검색 서버이다.
* Swiftype - 루씬 기반의 엔터프라이즈 검색 스타트업이다.