Contents
see List본 문서 solr 및 java 에 대한 기초지식이 있는것을 가정하고 작성합니다.
혹시 궁금한 사항은 사이트 하단에 있는 연락처나 메일로 연락을 주시면
답해드리겠습니다.
루씬기반의 solr 검색엔진을 별도로 구축하여 운영한다.
그러나 한국어 서비스를 위해선 arirang 이라는 한글형태분석기라는 별도의 plug-in 을
필요로 한다 .
이 때문에 구축시 많은 문제점이 발생한다.
해서 간단히 구축 순서와 점검사항을 기술해 볼까한다.
우선 apache-solr 4.6.1 버전을 다운 받는다 .
작성한 날자인 14-10-28 기준으로 4.10.1 이 가장 최신 버전이지만
arirang 이 4.6.1 버전까지가 정식 지원하므로 해당 버전을 사용한다.
solr 내부에도 경량 컨테이너가 존재하지만 원활한 사용을 위해
apach-tomcat 7.52 를 설치한다..
하나의 시스템을 돌린다는 가정하에 solr 압축파일 내의 example/solr
를 복사하여 설치하고자 하는 디렉토리에 붙여넣는다.
solr 디렉토리에 lib 디렉토리를 생성하고
압축파일 최상위에 있는 contrib , dist 를 복사하여 추가한다.
tomcat 의 localhost 에 solr 를 추가하고 docBase 를 생성한 solr/lib/solr-4.6.1.war
로 지정한다.
Environment value 를 solr 룻 디렉토리로 지정한다.
그리고 solr 압축 파일의
example/lib/ext 디렉토리 밑에 있는 jar 파일을 tomcat/lib 로 복사한 후 example/resources 디렉토리 안에 있는 log4j.properties 파일도 같은 디렉토리로 복사한다.
아참 리눅스라면 모든 디렉토리 권한을 tomcat 과 일치시키는것 잊지말자
이제 톰캣을 구동해본다.
지정한 포트명으로 브라우저를 통해 확인하면

다음과 같이 뜬다.
이제 arirang 을 설치할차례다
한글형태분석소 카페에서
ariang 4.6+ 버전을 받아서
tomcat/webapps/solr/WEB-INF/lib
에 집어 넣는다.
그리고
solr/collection1/conf
에 schema.xml 에
<fieldType name="text_ko" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ko.KoreanTokenizerFactory"/>
<filter class="org.apache.lucene.analysis.ko.KoreanFilterFactory" hasOrigin="false" hasCNoun="true" bigrammable="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ko.KoreanTokenizerFactory"/>
<filter class="org.apache.lucene.analysis.ko.KoreanFilterFactory" hasOrigin="false" hasCNoun="false" bigrammable="false" queryMode="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
를 추가하고 스키마를 지정한다 스키마를 지정할때는 스키마 타입도 함께 지정해야한다.
그리고 solrconfig.xml 수정하여
solr-dataimporthandler-.*\.jar 에 해당하는 lib 태그를 추가하고
상대경로로되어있는 것을 절대경로로 변경한다.
그리고 db 로부터의 import 를 위해 data-config.xml 를 생성해 추가하고
solrconfig.xml 에 등록한다.
참 tomcat /lib 에 db 에 해당하는 드라이버 lib 를 넣는것을 잊지말자.
또 log4j.properties 파일을 수정하여 로그를 기록한 디렉토리도 바꿔준다.
그리고 톰캣을 구동한다.
구동이 정상적으로 완료되면 설치된 ip와 포트로
solr/dataimport?command=full-import
쿼리를 날려본다.
idea 와 생성된 색인수가 표시되면 성공한것이다.
Comments ( 0 )