Solr 설치 및 간단 테스트
Apache Lucene 프로젝트의 검색 엔진 Solr.
Solr Tutorial을 통해 설치를 해보자.
자바 1.5 이상이 설치되어있어야 한다.
Solr의 현재 안정버전은 3.6.0이고, 4.0이 개발 중에 있다.
# cd /usr/local/src
# wget http://ftp.daum.net/apache/lucene/solr/3.6.0/apache-solr-3.6.0.zip
# unzip -q apache-solr-3.6.0.zip
# cp -Rf apache-solr-3.6.0 /usr/local/solr
# cd /usr/local/solr
다운로드 받고, 압축을 풀면 설치는 끝난다.
Solr는 모든 자바 서블릿 컨테이너에서 구동이 가능하다 (Tomcat 등..)
Solr에는 기본적으로 Jetty가 내장되어있어 바로 구동 및 테스트를 해볼 수도 있다.
example 디렉토리에 가서 Jetty로 구동해보자.
# cd example/
# java -jar start.jar
.
.
2012-06-12 16:16:48.268:INFO::Started SocketConnector@0.0.0.0:8983
8983 포트로 Jetty가 구동되었다.
http://xxx.xxx.xxx.xxx:8983/solr/admin/ 를 통해 웹 어드민 화면을 제공한다.
Indexing Data
설치만 했으니, 실제 사용할 데이터는 존재하지 않는다.
Solr에서는 샘플 데이터를 제공하고 있는데 example/exampledocs 디렉토리 되시겠다.
# cd exampledocs/
# java -jar post.jar solr.xml monitor.xml
SimplePostTool: version 1.4
SimplePostTool: POSTing files to http://localhost:8983/solr/update..
SimplePostTool: POSTing file solr.xml
SimplePostTool: POSTing file monitor.xml
SimplePostTool: COMMITting Solr index changes..
이렇게 하면 solr.xml 과 monitor.xml 의 데이터 정보가 임포트된다.
웹 어드민 화면에서 확인해보자.
Query String: 에 solr 라고 입력하고, Search 버튼 클릭!
아래와 같이 XML형태의 결과를 리턴한다. 검색결과는 하나뿐이네요.
이번엔 exampledocs 에 있는 모든 데이터를 임포트해보자.
# java -jar post.jar *.xml
SimplePostTool: version 1.4
SimplePostTool: POSTing files to http://localhost:8983/solr/update..
SimplePostTool: POSTing file gb18030-example.xml
SimplePostTool: POSTing file hd.xml
SimplePostTool: POSTing file ipod_other.xml
SimplePostTool: POSTing file ipod_video.xml
SimplePostTool: POSTing file mem.xml
SimplePostTool: POSTing file money.xml
SimplePostTool: POSTing file monitor2.xml
SimplePostTool: POSTing file monitor.xml
SimplePostTool: POSTing file mp500.xml
SimplePostTool: POSTing file sd500.xml
SimplePostTool: POSTing file solr.xml
SimplePostTool: POSTing file utf8-example.xml
SimplePostTool: POSTing file vidcard.xml
SimplePostTool: COMMITting Solr index changes..
임포트를 하기 위해서는 XML 뿐 아니라, 아래와 같은 형식도 지원한다고 함.
Import records from a database using the Data Import Handler (DIH).
Load a CSV file (comma separated values), including those exported by Excel or MySQL.
POST JSON documents
Index binary documents such as Word and PDF with Solr Cell (ExtractingRequestHandler).
Use SolrJ for Java or other Solr clients to programatically create documents to send to Solr.
Updating Data
데이터를 업데이트하려면, 변경된 파일을 새로 실행하면 된다.
# java -jar post.jar solr.xml
더 많은 자료는 Solr Wiki 를 참고하자.
http://wiki.apache.org/solr/