"루신"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(내용을 "#루씬"(으)로 바꿈)
1번째 줄: 1번째 줄:
[[파일:루신 로고.png|썸네일|200픽셀|'''루신'''(Lucene) 로고]]
+
#[[넘겨주기|루씬]]
[[파일:루신 글자.png|썸네일|300픽셀|'''루신'''(Lucene) 로고와 글자]]
 
 
 
'''루신'''(Lucene)은 [[자바]](Java) 언어로 개발된 [[오픈소스]] 정보 검색 라이브러리이다. 1999년 [[더그 커팅]]에 의해 개발되었다. 루신 개발 프로젝트는 [[아파치재단]]이 관리하는 최상위 프로젝트이다. '''아파치 루신'''(Apache Lucene)이라고 한다.
 
 
 
== 개요 ==
 
루신은 고성능 정보 검색 IR(Information retrieval) 라이브러리다. IR은 문서를 검색하거나, 문서와 연관된 메타 정보를 검색하는 과정을 말한다. 루신을 사용하면 개발하고자 하는 어플리케이션에 정보 검색 기능을 손쉽게 추가할 수 있다. [[자바]]로 구현되어 있고 아파치 소프트웨어 재단에서 아파치 소프트웨어 라이센스로 배포중이다.
 
 
 
루신은 다양한 프로젝트와 어플리케이션에서 검색 엔진으로 사용되고 있으며, 오픈소스 검색 애플리케이션의 양대 축 Solr와 Elasticsearch에서 검색 엔진으로 사용되고 있다. 최근 Solr 프로젝트가 아파치 소프트웨어 재단으로 이관되면서 루신과 통합되어 개발되고 있다.
 
== 검색 엔진 작동 원리 ==
 
검색엔진은 [[링크]]와 [[텍스트]] 기반 인식 기본이다. [[크롤러]]가 방문한 웹 페이지에서 새로운 링크를 발견하면 웹 서버에 데이터 정보를 요청하고 이때 웹 서버는 검색엔진에게 웹 페이지 정보를 보내는데 이것이 바로 메타태그가 포함된 사이트 정보다. 크롤러는 그렇게 추가된 수집한 URL에서 단어와 문구를 분리하여 저장한다. 저장과정에서 각 단어와 문구(쿼리)에서 가중치(weight)와 연관도(relevance)를 부여하고 최종 결과 값을 인덱스(색인)한다.
 
 
 
검색자가 검색창에 검색어를 입력하면 그 때 필요한 것을 끄집어 내는 것이 아니라 검색엔진이 미리 구축해 두었던 인덱스(색인)을 검색하는 것이다. 이 과정이 없으면 검색 결과를 얻기까지 엄청난 시간이 소요된다.
 
 
 
== 특징 ==
 
확장 가능한 고성능 정보검색 라이브러리로, 소프트웨어 프로그램에 색인과 검색 기능을 간단하게 추가할 수 있도록 지원한다. 라이선스는 아파치 라이선스 2.0을 사용하고 있으며, 운영 체제는 크로스 플랫폼을 이용하고 있다. 또한 루신 사용 시 검색과 관련한 전문적인 지식은 필요하지 않으며, 간단한 사용법들만 익히면 색인과 검색 기능을 직접 추가할 수 있다. 또한 자바로 만들어졌지만 [[파이썬]], [[C++]] 등의 언어로 사용할 수 있다.<ref name="루신">linuxism, 〈[https://linuxism.ustd.ip.or.kr/898 루씬(Lucene) 개요 및 원리]〉, 《개인 블로그》, 2012-09-24</ref>
 
 
 
== 활용 ==
 
* '''이메일 검색''' : 저장된 메시지를 검색, 새로 도착한 메세지를 색인에 추가할 수 있다.<ref name="루신"></ref>
 
* '''온라인 문서 검색''' : 온라인 문서나 저장된 출판물을 검색할 수 있는 CD 또는 웹 기반에 포함된 문서 판독기 역할을 할 수 있다.<ref name="루신"></ref>
 
* '''버전 관리 및 콘텐츠 관리''' : 문서나 문서 버전을 색인화하여 쉽게 검색할 수 있도록 하는 시스템이다.<ref name="루신"></ref>
 
* '''웹 페이지 검색''' : 사용자가 방문한 모든 웹 페이지를 색인화하기 위해 개인 검색 엔진을 만들 수 있는 웹 브라우저 또는 [[프록시]] 서버이다.
 
* '''내용 검색''' : 저장된 문서에서 특정 내용 검색할 수 있다.
 
* '''뉴스 및 유선 서비스''' : 뉴스가 도착했을 때 기사를 색인할 수 있는 뉴스 서버나 릴레이 서버이다.
 
 
 
== 버전 ==
 
현재 루신은 8.1.1이 가장 최신 버전이다.
 
 
 
== 한계 ==
 
루신을 이용하여 개발할 수는 있지만 각각에 대한 전용 라이브러리를 지원하진 않는다. 또한 내용을 단어로 나누는 방법을 구현해야 하며, 국어에 대한 이해를 기반으로 구현하는 것이 어렵다고 한다.<ref name="루신"></ref>
 
 
 
{{각주}}
 
 
 
== 참고자료 ==
 
* linuxism, 〈[https://linuxism.ustd.ip.or.kr/898 linuxism 블로그]〉, 《개인 블로그》, 2012-09-24
 
 
 
== 같이 보기 ==
 
* [[더그 커팅]]
 
* [[아파치재단]]
 
* [[일래스틱서치]]
 
* [[오픈소스]]
 
 
 
{{소프트웨어|토막글}}
 

2019년 10월 1일 (화) 16:08 판