Solr

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

검색 엔진 Lucene를 기반으로 하는 검색 관리 솔루션인 solr를 정리 합니다.

Solr 개요

WAS 위에서 웹 애플리케이션으로 수행되며 인덱싱과 검색 요청을 HTTP 프로토콜을 통해서 받아서 Lucene에 전달해주는 역할

  • Solr 관련 오픈소스

Solr Concept.png

Solr 설치

Windows에서 Solr 실행

  • Solr 다운로드 사이트에서 solr-4.9.0.zip 파일을 다운로드 합니다. 다운로드 받은 파일로 c:/appl/solr/ 폴더를 생성 합니다.
  • 아래 명령어를 사용하여 Solr를 실행 합니다.
cd c:/appl/solr/example
java -jar start.jar
  • 설정 파일 정보
  • 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
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
  • 설정 파일 정보
  • 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에서만 등록

참고 문헌