루씬을 볼때 필요하겠다 싶었던 것들인데 역시 진행이 되고 있었다.
아파치 솔라와 PHP 를 연동한 예제를 보여주는 IBM DeveloperWorks 의 가사.


아파치 루씬 서브프로젝트인 아파치 솔라 1.2 버전을 다루는 요령 배워보기
http://www.ibm.com/developerworks/kr/library/tutorial/os-apachelucene/section2.html

소개

누구나 검색이 필요하다. 그것이 열쇠든, 휴대전화든, 지갑이든, 마음이든 간에 말이다. 매장 데이터베이스의 모든 제품을 검색할 수 있다면 어떨까? 혹은 인트라넷과 관련된 파일들은 어떤가? 이것이 본 튜토리얼에서 다룰 내용이다.


아파치 루씬

루씬 자바는 주요 아파치 루씬 프로젝트이며 다른 프로젝트도 여기서 비롯됐다. 이는 자바로 작성된 최고의 고성능 검색 엔진 라이브러리를 목표로 만들어졌고, 그래서 여기엔 서브프로젝트가 그리 많지 않다.

아파치 루씬은 오픈 소스이기 때문에 개발자들이 사용하기에 더 알맞다. 루씬으로 맞춤 애플리케이션에 견고한 검색 엔진을 만들 수 있고, 이것이 솔라나 넛치(Nutch) 같은 다른 서브프로젝트가 등장하는 방법이기도 하다.

웹 크롤러가 필요하다면 직접 만들어야 한다. 그리고 나서 크롤러를 사용해 웹 크롤러가 웹을 기어다니면서 웹에서 꺼낸 파일을 목록에 넣어야 한다. 하지만 이미 작성된 것이 있다면 왜 굳이 직접 만들어야 할까? 그래서 아파치 넛치와 하둡(Hadoop)이 등장했다.


넛치와 하둡, 아피치 루씬 서브프로젝트

넛 치는 루씬에 웹 페이지를 검색하고 다른 문서 포맷에서 HTML을 파스하는 방법이 필요하다는 명백한 이유로 만들어졌다. 넛치는 모든 웹 크롤링, 인트라넷에서 로컬 파일 크롤링, 모든 인덱싱을 포함하는 수많은 멋진 특징들을 가지고 있다.

하 둡은 넛치가 잠재적으로 저장, 처리할 수 있는 페타바이트의 데이터를 처리할 수 있도록 고안됐다. 사실 하둡은 자체 파일 시스템인 HDFS(Hadoop Distributed File System)를 갖고 있다. 이는 어떠한 평범한 저가 하드웨어에서도 작동할 수 있다. 하둡은 클러스터의 모든 서버에 걸쳐 파일 시스템 데이터 중 일부분을 저장한다. 새 질의가 들어오면 HDFS는 "움직이는 계산은 움직이는 데이터보다 저렴하다"라는 규칙(즉 질의 처리를 움직여 데이터에 가장 가깝게 하는 것은 클러스터 내에 마구잡이로 질의를 놓고 데이터를 네트워크 전반에 먼 거리로 이동시키는 것보다 빠르다는 뜻이다)을 따른다.


오픈 소스 검색 서버 아파치 솔라

그 렇다면 왜 솔라가 필요한 것일까? 솔라는 파일을 인덱스하는 검색 엔진 이상이기 때문이다. 이는 XML 요청을 HTTP를 통해 보내는 웹 서비스 API가 있는 검색 서버다. 그러므로 솔라 검색 서버 URL을 사용하여 인터넷을 통해(XML 요청을 HTTP를 통해 보냄으로써) 파일을 질의, 인덱스하는 어느 곳에서나 애플리케이션을 가질 수 있다. 또한 다른 솔라 검색 서버로 캐싱과 복사가 가능한 최적화된 검색 서버다.



참고: 루씬 소개 마소기사 (http://jongsclub.com/webedit/studyView.jsp?num=26 )
Posted by ukmie
,