Contents
see List작성일 2014. 10. 28.
본 문서 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 와 생성된 색인수가 표시되면 성공한것이다.
java
| No | 작성일 | Title |
|---|---|---|
| 2928 | 2026. 06. 01. | Java Virtual Threads 운영 전환 가이드: 블로킹 API, 커넥션 풀, 관측 지표 점검법 |
| 2874 | 2026. 05. 24. | Java 서비스 ThreadPoolExecutor 포화 방지: 큐 크기, 거절 정책, 백프레셔 실전 가이드 |
| 2799 | 2026. 05. 16. | Java 운영 장애 분석을 위한 JFR·jcmd 실전 가이드: 재시작 없이 CPU·메모리 증거 남기기 |
| 2603 | 2026. 04. 24. | Java 26 Pattern Matching 실전 가이드: Records · Sealed Classes · Primitive Patterns로 분기 없는 도메인 모델링 |
| 2518 | 2026. 04. 16. | Java 26 Virtual Threads & Structured Concurrency 실전 가이드: 가상 스레드로 고성능 서버 구축하기 |
| 2491 | 2026. 04. 14. | Java 21/25 Virtual Threads 완벽 가이드: 기존 스레드 모델과의 차이, 실전 활용법 |
| 2470 | 2026. 04. 13. | Java 25 Virtual Threads & Structured Concurrency 완벽 가이드 |
| 2450 | 2026. 04. 12. | Java 21 Virtual Threads 완벽 가이드: Project Loom으로 수백만 스레드 다루기 |
| 2426 | 2026. 04. 11. | Java 24 Primitive Type Pattern Matching 완벽 가이드 - switch와 instanceof 확장 |
| 2390 | 2026. 04. 09. | Java 26 신기능 완벽 가이드 - AOT 캐시, Compact Headers, 패턴 매칭 실전 활용 |