1)
두개의 디렉토리 생성
C:\TOMCAT_HOME
C:\SOLR_HOME
2) 톰캣 부터 설정
C:\TOMCAT_HOME 에 톰캣 압축을 푼다.
C:\TOMCAT_HOME\conf\Catalina\localhost 디렉토리 생성함
C:\TOMCAT_HOME\conf\Catalina\localhost
C:\TOMCAT_HOME\conf\Catalina\localhost\solr.xml 파일을 만듬
내용은
<Context docBase=”C:\SOLR_HOME\solr-1.4.0.war” debug=”0″ crossContext=”true” >
<Environment name=”solr/home” type=”java.lang.String” value=”C:\SOLR_HOME\solr” override=”true” />
< /Context>
보통 C:\TOMCAT_HOME\bin\solr\data\index 여기에 인덱스가 생성됨
C:\TOMCAT_HOME\bin\startup.bat shutdown.bat로 톰캣을 띄워봄
localhost:8080
3) Solr 설정
솔라 압축푼 파일 중
apache-solr-1.4.0\example\solr 폴더를 C:\SOLR_HOME 에 복사함.
bin 과 conf 폴더인데 Environment name=”solr/home” 으로 지정된 폴더에서 conf를 찾으므로 필수임
\apache-solr-1.4.0\dist\apache-solr-1.4.0.war 을 C:\SOLR_HOME 에 복사 해둠
4) War를 다시 구성할 경우
WEB-INF\lib에 추가를 하거나 소스가 변경되었을시 war를 다시 생성해야함.
C:\SOLR_HOME\apache-solr-1.4.0>jar -cvf ../solr-1.4.0.war *
5) 데이터 테스트 전송
Solr 원본에 있는 example\exampledocs 파일을 이용해서 올려 보자
C:\SOLR_HOME\apache-solr-1.4.0\ example\exampledocs>java -Durl=http://localhost:8080/solr/update -jar *.xml
6) 한글 문제
먼저 톰캣 설정
C:\TOMCAT_HOME\conf\Server.xml
<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″ URIEncoding=”UTF-8″
redirectPort=”8443″ />
C:\SOLR_HOME\apache-solr-1.4.0\WEB-INF\lib 에
최신 koreananalyzer-20100525.jar 한글 분석기를 넣음
C:\SOLR_HOME\apache-solr-1.4.0\WEB-INF\classes
를 생성하고 다음 두개 파일을 만듬
A) KoreanFilterFactory.java
package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.kr.KoreanFilter;
public class KoreanFilterFactory extends BaseTokenFilterFactory {
private boolean bigrammable=true;
private boolean hasOrigin=true;
public TokenStream create(TokenStream tokenstream) {
return new KoreanFilter(tokenstream,bigrammable,hasOrigin);
}
public void setBigrammable(boolean bool){
this.bigrammable=bool;
}
public void setHasOrigin(boolean bool) {
this.hasOrigin=bool;
}
}
B) KoreanTokenizerFactory.java
package org.apache.solr.analysis;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.kr.KoreanFilter;
public class KoreanFilterFactory extends BaseTokenFilterFactory {
private boolean bigrammable=true;
private boolean hasOrigin=true;
public TokenStream create(TokenStream tokenstream) {
return new KoreanFilter(tokenstream,bigrammable,hasOrigin);
}
public void setBigrammable(boolean bool){
this.bigrammable=bool;
}
public void setHasOrigin(boolean bool) {
this.hasOrigin=bool;
}
}
컴파일 방법
c:\SOLR_HOME\apache-solr-1.4.0\WEB-INF\classes>javac -cp ..\lib\lucene-analyzers
-2.9.1.jar;..\lib\lucene-core-2.9.4.jar;..\lib\apache-solr-core-1.4.0.jar;..\lib
\koreananalyzer-20100525.jar -d . *.java
War로 다시 압축하고
톰캣 리스타트..한글 잘됨
테스트 데이터 넣어보기
c:\SOLR_HOME\exampledocs>java -Durl=http://localhost:8080/solr/update -jar post.
jar hd.xml
기본은 8393 포트인가를 찾는다 포트를 지정해서 가려면 -Durl을 쓴다.
출처 : http://ofwww.com/
'Search Engine > Solr' 카테고리의 다른 글
[SOLR] solr의 다양한 가중치 적용방법 (0) | 2012.07.10 |
---|---|
[SOLR]한글 웹문서 색인을 위한 Tokenizer, Filter세팅방법 (0) | 2012.07.10 |
Importing a MySQL database into Apache Solr (0) | 2012.07.10 |
Solr 관련 (0) | 2012.07.10 |
Solr 기본 테스트 (Tutorial) (0) | 2012.07.10 |