"Solr"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
 
잔글
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
1번째 줄: 1번째 줄:
검색 엔진 [[Lucene]]를 기반으로 하는 검색 관리 솔루션인 solr를 정리 합니다.
+
검색 엔진 [[Lucene|Lucene]]를 기반으로 하는 검색 관리 솔루션인 solr를 정리 합니다.
  
*홈페이지 : http://lucene.apache.org/solr
+
*홈페이지 : [http://lucene.apache.org/solr http://lucene.apache.org/solr]
:*매뉴얼 : https://cwiki.apache.org/confluence/display/solr/About+This+Guide
+
 
*다운로드 : http://lucene.apache.org/solr/downloads.html
+
:*매뉴얼 : [https://cwiki.apache.org/confluence/display/solr/About+This+Guide https://cwiki.apache.org/confluence/display/solr/About+This+Guide]
*라이선스 : [[Apache 2.0]]
+
 
*플랫폼 : [[Java]]
+
*다운로드 : [http://lucene.apache.org/solr/downloads.html http://lucene.apache.org/solr/downloads.html]
 +
*라이선스 : [[Apache 2.0|Apache 2.0]]
 +
*플랫폼 : [[Java|Java]]
 +
 
 +
== Solr 개요 ==
  
==Solr 개요==
 
 
WAS 위에서 웹 애플리케이션으로 수행되며 인덱싱과 검색 요청을 HTTP 프로토콜을 통해서 받아서 Lucene에 전달해주는 역할
 
WAS 위에서 웹 애플리케이션으로 수행되며 인덱싱과 검색 요청을 HTTP 프로토콜을 통해서 받아서 Lucene에 전달해주는 역할
  
 
*Solr 관련 오픈소스
 
*Solr 관련 오픈소스
[[파일:Solr Concept.png|700px]]
 
  
==Windows에서 Solr 실행==
+
[[File:Solr Concept.png|700px|Solr Concept.png]]
 +
 
 +
== Solr 설치 ==
 +
 
 +
=== Windows에서 Solr 실행 ===
 +
 
 
*[http://lucene.apache.org/solr/downloads.html Solr 다운로드 사이트]에서 solr-4.9.0.zip 파일을 다운로드 합니다. 다운로드 받은 파일로 c:/appl/solr/ 폴더를 생성 합니다.
 
*[http://lucene.apache.org/solr/downloads.html Solr 다운로드 사이트]에서 solr-4.9.0.zip 파일을 다운로드 합니다. 다운로드 받은 파일로 c:/appl/solr/ 폴더를 생성 합니다.
  
 
*아래 명령어를 사용하여 Solr를 실행 합니다.
 
*아래 명령어를 사용하여 Solr를 실행 합니다.
 +
 
  cd c:/appl/solr/example
 
  cd c:/appl/solr/example
 
  java -jar start.jar
 
  java -jar start.jar
  
*http://localhost:8983/solr/ 로 접속하여 사용 합니다.
+
*[http://localhost:8983/solr/ http://localhost:8983/solr/] 로 접속하여 사용 합니다.
  
 
*설정 파일 정보
 
*설정 파일 정보
:*etc/jetty.xml : Jetty 설정 파일
+
 
:*webapps/solr.war : Application 배포 파일
+
:*etc/jetty.xml : Jetty 설정 파일
 +
:*webapps/solr.war : Application 배포 파일
 
::*solr-webapp/webapp
 
::*solr-webapp/webapp
:*contexts/solr-jetty-context.xml : Application 설정 파일
+
:*contexts/solr-jetty-context.xml : Application 설정 파일
::*http://localhost:8983/solr/
+
::*[http://localhost:8983/solr/ http://localhost:8983/solr/]
 
:*etc/webdefault.xml
 
:*etc/webdefault.xml
:*lib/ : Jetty 라이브러리
+
:*lib/ : Jetty 라이브러리
:*logs/ : 로그 폴더
+
:*logs/ : 로그 폴더
:*resources/log4j.properties : 설정 파일
+
:*resources/log4j.properties : 설정 파일
:*solr/collection1/ : collection1 Solr Core 폴더
+
:*solr/collection1/ : collection1 Solr Core 폴더
 +
 
 +
=== CentOS에서 Solr 실행 ===
  
==CentOS에서 Solr 실행==
 
 
*Solr을 다운로드하여 압축을 해제 합니다.
 
*Solr을 다운로드하여 압축을 해제 합니다.
 +
 
  cd install
 
  cd install
  wget http://apache.mirror.cdnetworks.com/lucene/solr/4.9.0/solr-4.9.0.tgz
+
  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
 
  tar xzvf solr-4.9.0.tgz
 
  mv solr-4.9.0 /nas/appl/solr
 
  mv solr-4.9.0 /nas/appl/solr
45번째 줄: 56번째 줄:
  
 
*방화벽에서 8983/tcp 포트를 오픈 합니다.
 
*방화벽에서 8983/tcp 포트를 오픈 합니다.
 +
 
  setup
 
  setup
  
*http://node250.jopenbusiness.com:8983/solr/ 사이트로 접속하여 사용 합니다.
+
*[http://node250.jopenbusiness.com:8983/solr/ http://node250.jopenbusiness.com:8983/solr/] 사이트로 접속하여 사용 합니다.
  
 
*설정 파일 정보
 
*설정 파일 정보
:*etc/jetty.xml : Jetty 설정 파일
+
 
:*webapps/solr.war : Application 배포 파일
+
:*etc/jetty.xml : Jetty 설정 파일
 +
:*webapps/solr.war : Application 배포 파일
 
::*solr-webapp/webapp
 
::*solr-webapp/webapp
:*contexts/solr-jetty-context.xml : Application 설정 파일
+
:*contexts/solr-jetty-context.xml : Application 설정 파일
::*http://node250.jopenbusiness.com:8983/solr/
+
::*[http://node250.jopenbusiness.com:8983/solr/ http://node250.jopenbusiness.com:8983/solr/]
 
:*etc/webdefault.xml
 
:*etc/webdefault.xml
:*lib/ : Jetty 라이브러리
+
:*lib/ : Jetty 라이브러리
:*logs/ : 로그 폴더
+
:*logs/ : 로그 폴더
:*resources/log4j.properties : 설정 파일
+
:*resources/log4j.properties : 설정 파일
:*solr/collection1/ : collection1 Solr Core 폴더
+
:*solr/collection1/ : collection1 Solr Core 폴더
  
==참고 문헌==
+
== Cluster 설정 ==
*[[Lucene]]
 
  
*http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Search/Document/Solr
+
[[ZooKeeper|ZooKeeper]]를 사용하여 분산 구성을 지원 합니다.<br/>uniqueId.hashCode()&nbsp;% numServers 정보를 사용하여 원하는 shard를 찾아 갑니다.
 +
 
 +
*Default 사용은 하나의 node를 여러개의 node로 구성하여 부하 분산
 +
*Shard별로 관리하는 자료를 다르게 가져 가려면 수작업으로 설정 하여야 합니다.
 +
*Shard는 Core 단위로 설정 가능 : Collection (Core) -> Shards -> Replications
 +
 
 +
 
 +
 
 +
java start.jar 옵션
 +
 
 +
*collection.configName&nbsp;: Collection 이름
 +
*numShards&nbsp;: Shard&nbsp;개수
 +
*replicationFactor&nbsp;: Replication 개수
 +
*zkHost&nbsp;: ZooKeeper 서버 정보
 +
 
 +
 
 +
 
 +
[http://localhost:8983/solr/select http://localhost:8983/solr/select] 옵션
 +
 
 +
*fl=[shard]&nbsp;: Shard 정보 표시
 +
*distrib=false&nbsp;: 요청&nbsp;받은 node에서만 검색
 +
 
 +
 
 +
 
 +
solrconfig.xml
 +
 
 +
*&lt;processor class="solr.NoOpDistributingUpdateProcessorFactory" /&gt;&nbsp;: 요청 받은 node에서만 등록
 +
 
 +
== 참고 문헌 ==
 +
 
 +
*[[Lucene|Lucene]]
 +
 
 +
*[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]
 
*[https://lael.be/516 오픈소스 검색 서버 Solr 설치 매뉴얼, 2012.11]
 
*[https://lael.be/516 오픈소스 검색 서버 Solr 설치 매뉴얼, 2012.11]
 
*[http://misoin.wordpress.com/2012/06/12/solr-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8/ solr 설치 및 테스트, 2012.06]
 
*[http://misoin.wordpress.com/2012/06/12/solr-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8/ solr 설치 및 테스트, 2012.06]
*http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Search/Document/Solr#s-3.2
+
*[http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Search/Document/Solr#s-3.2 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://yongkilee.com/wiki/doku.php?id=project:snu:similarity:infra:solr http://yongkilee.com/wiki/doku.php?id=project:snu:similarity:infra:solr]
 
 
*http://www.slideshare.net/wolfkang/1-solr
 
  
[[Category:Search]]
+
*[http://www.slideshare.net/wolfkang/1-solr http://www.slideshare.net/wolfkang/1-solr]
[[Category:BigData]]
+
[[Category:Search|Category:Search]]<br/>[[Category:BigData|Category:BigData]]

2014년 9월 20일 (토) 15:27 기준 최신판

검색 엔진 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에서만 등록

참고 문헌