아파치 솔라 공식홈페이지 https://solr.apache.org/ 우측 상단에 DOWNLOAD를 클릭하면,
아래와 같이 다운로드를 받을 수 있는 페이지가 나온다.
windows test 용으로 설치 할 예정이라, 아래의 zip 버전을 다운받아보았다.
* Solr가 Java 로 만들어져있기 때문에 Java 1.8 버전 이상이 설치 되어있어야 한다.
1. DownLoad
CMD 창을 관리자모드로 열고, solr를 설치한 경로의 bin 으로 접근한다.
bin 아래에서 solr start 명령어 입력시 Happy searching! 이라는 문구가 표출되며 데몬이 잘 기동된걸 확인할 수 있다.
브라우저를 열고, http://localhost:8983 을 입력하면 아래와 같은 관리자 페이지가 나온다.
여기까지 솔라의 데몬 실행 및 확인이 진행되었다. 필자는 왼쪽 사이드바에 보이듯 data1 이라는 코어를
생성하였다.
2. Core 생성
왼쪽 사이드에 Core Admin 을 클릭한 뒤, Add Core를 생성하여도 되지만,
일단 설치된 경로에서 CMD창으로 진행하겠다.
CMD를 관리자모드로 실행하여, Solr 설치 경로로 가서 아래와 같이 입력한다.
solr create -c [코어이름] * 필자는data1
코어 생성을 마쳤으니 솔라를 재시작 하도록 하자.
>> solr stop -all (종료)
>> solr start (시작)
3. 한글 검색 필터 추가
3-1. 라이브러리 추가
네이버카페에 가입하여 한글 관련 라이브러리를 다운 받도록 하자.
https://cafe.naver.com/korlucene
* 카페에 다운로드 탭에 lib가 있다.
- arirang.lucene-analyzer-7.2.1.1.jar
- arirang-morph-1.1.4.jar
두개의 라이브러리를 다운받아서 WEB-INF에 넣어주자.
아리랑 라이브러리라니... 가슴이 웅장해진다 ㄷㄷ
3-2. xml 설정 변경
라이브러리를 추가하고 나면 추가되었다고 알려주기 위해 설정을 해야 된다.
아래의 <텍스트>를 복사해서 '코어'를 생성했던 경로의 managed-schema를 수정해 줘야 한다.
* 필자는 data1 코어 폴더 아래에 managed-schema 파일이 존재 했다.
C:\Program Files\solr\solr-8.11.1\server\solr\data1\conf\managed-schema
<dynamicField name="*_txt_kr" type="txt_kr" indexed="true" stored="true"/>
<fieldType name="txt_kr" 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_kr.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_kr.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>
위의 설정 정보를 복사해서 수정하고
"stopwords_kr.txt" 파일을 생성하여 data1\conf\lang 아래에 넣어줘야 한다.
(필자는 에러가 발생해서 C:\Program Files\solr\solr-8.11.1\server\solr\data1
아래의 경로에도 "stopwords_kr.txt" 파일을 생성하여 넣어줬다.)
만약, Solr 를 재기동 하여 admin 콘솔을 확인하여 아래와 같은 에러가 나는지 확인해야 한다.
Error instantiating class: 'org.apache.lucene.analysis.ko.KoreanTokenizerFactory'
lib 파일2개 넣은것을 instance 화 하지 못하여 발생한 에러가 대부분이고, 설정 정보가 잘못 되었다고 보면 된다.
필자의 경우에는 managed-schema 설정 파일 880 line 쯤 보면
<!-- Korean morphological analysis --> 코리아 필터 부분을 전체 주석처리 하니
위에서 추가한 필터 내용이 잘 적용되어 에러가 없어졌다.
끗.
lib 출처
Apache Lucene/Solr 네이버 카페
본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요.
정보 공유를 위한 포스팅에 큰 힘이 됩니다.
만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다.
읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요.
'DEVOPS' 카테고리의 다른 글
[Edge] 이 애플리케이션을 열려고 합니다. 애플리케이션 링크 팝업 차단 해제 (항상 자동 연결 권한 주기) 해결완료 (1) | 2022.03.23 |
---|---|
tomcat catalina.out 로그 쌓이지 않게 (0) | 2022.01.24 |
컴퓨터 경고음(비프음) 스피커 제거 (0) | 2021.12.17 |
시놀로지 (DSM), NAS서버에 SVN 설치하기 (1) | 2021.12.17 |
지정된 서비스가 설치된 서비스로는 없습니다. 톰캣 서비스 설치하기 (0) | 2021.12.16 |