검색 엔진 Lucene를 기반으로 하는 검색 관리 솔루션인 solr를 정리 합니다.
라이선스 : [Apache 2.0](Apache 2.0.md)
플랫폼 : Java
Solr 개요
WAS 위에서 웹 애플리케이션으로 수행되며 인덱싱과 검색 요청을 HTTP 프로토콜을 통해서 받아서 Lucene에 전달해주는 역할
- Solr 관련 오픈소스
[700px|Solr Concept.png](File:Solr Concept.png.md)
Solr 설치
Windows에서 Solr 실행
Solr 다운로드 사이트에서 solr-4.9.0.zip 파일을 다운로드 합니다. 다운로드 받은 파일로 c:/appl/solr/ 폴더를 생성 합니다.
아래 명령어를 사용하여 Solr를 실행 합니다.
cd c:/appl/solr/example
java -jar start.jar
http://localhost:8983/solr/ 로 접속하여 사용 합니다.
설정 파일 정보
- etc/jetty.xml : Jetty 설정 파일
- webapps/solr.war : Application 배포 파일
- solr-webapp/webapp
- contexts/solr-jetty-context.xml : Application 설정 파일
- etc/webdefault.xml
- lib/ : Jetty 라이브러리
- logs/ : 로그 폴더
- resources/log4j.properties : 설정 파일
- solr/collection1/ : collection1 Solr Core 폴더
CentOS에서 Solr 실행
- Solr을 다운로드하여 압축을 해제 합니다.
cd install
wget [http://apache.mirror.cdnetworks.com/lucene/solr/4.9.0/solr-4.9.0.tgz](http://apache.mirror.cdnetworks.com/lucene/solr/4.9.0/solr-4.9.0.tgz)
tar xzvf solr-4.9.0.tgz
mv solr-4.9.0 /nas/appl/solr
cd /nas/appl/solr/example
java -jar start.jar
- 방화벽에서 8983/tcp 포트를 오픈 합니다.
setup
http://node250.jopenbusiness.com:8983/solr/ 사이트로 접속하여 사용 합니다.
설정 파일 정보
- etc/jetty.xml : Jetty 설정 파일
- webapps/solr.war : Application 배포 파일
- solr-webapp/webapp
- contexts/solr-jetty-context.xml : Application 설정 파일
- etc/webdefault.xml
- lib/ : Jetty 라이브러리
- logs/ : 로그 폴더
- resources/log4j.properties : 설정 파일
- solr/collection1/ : collection1 Solr Core 폴더
Cluster 설정
ZooKeeper를 사용하여 분산 구성을 지원 합니다.
uniqueId.hashCode() % numServers 정보를 사용하여 원하는 shard를 찾아 갑니다.
- Default 사용은 하나의 node를 여러개의 node로 구성하여 부하 분산
- Shard별로 관리하는 자료를 다르게 가져 가려면 수작업으로 설정 하여야 합니다.
- Shard는 Core 단위로 설정 가능 : Collection (Core) -> Shards -> Replications
java start.jar 옵션
- collection.configName : Collection 이름
- numShards : Shard 개수
- replicationFactor : Replication 개수
- zkHost : ZooKeeper 서버 정보
http://localhost:8983/solr/select 옵션
- fl=shard : Shard 정보 표시
- distrib=false : 요청 받은 node에서만 검색
solrconfig.xml
- <processor class="solr.NoOpDistributingUpdateProcessorFactory" /> : 요청 받은 node에서만 등록
참고 문헌
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Search/Document/Solr
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Search/Document/Solr#s-3.2
http://yongkilee.com/wiki/doku.php?id=project:snu:similarity:infra:solr
http://www.slideshare.net/wolfkang/1-solr
[[Category:Search|Category:Search]]
분류: BigData