Solr 검색엔진 v8.8.0 및 Omeka Solr 플러그인 설치 방법(2022-05-24 업데이트)

edited May 2022 in OMEKA

설치 테스트 환경

- 서버 : Amazon aws EC2
- 서버 스펙 : t2.small (memory : 2Gb)
- OS : Ubuntu Server v22.04 LTS
- Apache : 2.4.52
- MariaDB : 10.6
- PHP : 7.4
- Omeka Classic : 3.0.3

*주의: aws 서버 인스턴스 유형 중 t2.micro는 메모리 사양이 1Gb인데 이 경우 Solr 설치나 가동 시 메모리 부족 문제로 실행 에러나 서비스 오류가 발생할 수 있습니다.
Solr 검색엔진은 자바 환경에서 구동되는데 자바 환경 자체가 서버의 메모리 자원을 많이 소비합니다.

초기 설치 테스트 시 t2.micro 인스턴스 상태에서 설치했는데 Solr 설치 중 서버가 다운되는 현상이 있었습니다.
이 경우 putty나 ftp를 다시 열고 들어가더라도 서버 접속에만 매우 오랜 시간이 소요될 수 있습니다.

따라서 현재 서버 인스턴스 유형의 메모리 스펙이 1Gb인 경우에는 반드시 최소 2Gb로 업그레이드한 후 설치를 진행하시기 바랍니다.


서버 인스턴스 변경은 아마존 AWS EC2 관리 콘솔에서 서버 인스턴스 중지 후 "인스턴스 유형 변경" 옵션을 통해서 상위 인스턴스 유형(예: t2.small)을 선택하면 됩니다.

단, 인스턴스 유형 변경은 결국 서버 스펙을 더 좋은 사양으로 변경하는 것이므로 이에 따른 사용료 과금이 청구될 수 있습니다.

인스턴스 유형 변경 후에는 "인스턴스 시작" 옵션을 통해서 서버 인스턴스를 재시작 해야 합니다.


설치 테스트 일자

2022-05-18

설치 테스트 사이트

http://3.88.211.163/solr-search?q=
*관리자 계정은 oss 실습용 계정과 동일.


1. JAVA 설치

우분투 운영체제 패키지 저장소 목록 업데이트
$ sudo apt-get update

JDK 1.8 버전 설치
$ sudo apt-get install -y openjdk-8-jdk

*주의 : Solr 검색엔진은 JAVA 언어로 개발된 관계로 서버에 JAVA 환경이 설치되어 있지 않으면 Solr 설치 및 실행이 불가능합니다. 설치가 안된 경우 위와 같이 JDK(Java Development Kit) 1.8 버전을 설치합니다.
이미 설치한 경우엔 2번 단계로 넘어갑니다.

설치된 자바 버전 확인
$ java -version
 
JAVA_HOME 설정 (PATH 환경변수 설정)
Java 설치 경로 확인
$ readlink -f $(which java)

아래와 같이 나오면 /usr/lib/jvm/java-8-openjdk-amd64 경로까지만 JAVA_HOME의 경로로 설정
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

JAVA_HOME 경로 등록
profile 편집
$ sudo nano /etc/profile​

마지막 라인에 아래의 두 줄 추가
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

source 명령어로 적용
$ source /etc/profile

환경 변수 설정 확인
$ echo $JAVA_HOME



2. Solr 검색엔진 설치

Solr 8.8.0 버전과 첨부한 solr 플러그인 버전의 경우 설치 시 오류나 에러가 발생되지 않는 것을 확인했습니다.
하위 버전이나 상위 버전의 경우 문제가 발생할 수 있으므로 가급적 아래의 버전으로 설치 테스트 해보시기를 당부드립니다.

Solr 검색엔진을 다운로드할 경로로 이동
$ cd /opt

Solr 검색엔진 8.8.0 버전 다운로드
$ wget https://archive.apache.org/dist/lucene/solr/8.8.0/solr-8.8.0.tgz

검색엔진 설치
$ tar zxvf solr-8.8.0.tgz solr-8.8.0/bin/install_solr_service.sh --strip-components=2
$ sudo bash ./install_solr_service.sh solr-8.8.0.tgz

설치가 완료되면 아래 마지막 빨간색 점선 박스 표시부 처럼 설치가 완료되었다고 출력됩니다.
Service solr installed.
Solr의 서비스 상태를 보면 active 상태인 것을 확인할 수 있습니다.


다운로드 받은 파일 삭제
$ rm solr-8.8.0.tgz
$ rm install_solr_service.sh

Solr가 정상 작동되는지 상태 확인
$ sudo su - solr -c "/opt/solr/bin/solr status"

서비스가 중지되어 있는 경우 아래 명령어로 시작하거나 재시작합니다.

Solr 서비스 시작 명령어
$ sudo su - solr -c "/opt/solr/bin/solr start"

Solr 서비스 재시작 명령어
$ sudo su - solr -c "/opt/solr/bin/solr restart"  

[참고] Solr 서비스 관리 명령어
$ sudo su - solr -c "/opt/solr/bin/solr status"
$ sudo su - solr -c "/opt/solr/bin/solr stop"
$ sudo su - solr -c "/opt/solr/bin/solr start"
$ sudo su - solr -c "/opt/solr/bin/solr restart"  

Solr 검색엔진에서 오메카 시스템용 신규 코어 인스턴스 생성
sudo su - solr -c "/opt/solr/bin/solr create -c omeka -n data_driven_schema_configs"

서비스 재시작
$ sudo su - solr -c "/opt/solr/bin/solr restart"  



3. 오메카 Solr 플러그인 설치

플러그인을 다운로드할 경로로 이동
$ cd /tmp

Solr 플러그인 다운로드(OSASF에서 내려받기)
$ wget http://osasf.net/uploads/SolrSearch.zip

압축 해제
$ unzip SolrSearch.zip

Omeka의 플러그인 디렉토리에 Solr Search용 플러그인 디렉토리 생성
$ mkdir /var/www/omeka/plugins/SolrSearch
*주의:  만약 SolrSearch 플러그인을 이미 설치한 경우엔 관리자모드에서 플러그인을 uninstall 한 후 SolrSearch 디렉토리를 FTP나 터미널에서 삭제해야 합니다.

압축 해제한 SolrSearch 디렉토리 하위의 모든 파일과 폴더 전체를 Omeka의 SolrSearch 플러그인 디렉토리로 복사
$ mv SolrSearch/* /var/www/omeka/plugins/SolrSearch/

Omeka 플러그인 디렉토리로 이동
$ cd /var/www/omeka/plugins

Omeka용 Solr Core를 Solr의 Core 디렉토리로 복사
$ cp -a SolrSearch/solr-core/omeka /var/solr/data

Solr Core 디렉토리에 Omeka용 data 디렉토리 생성
$ mkdir /var/solr/data/omeka/data
*주의 : 이미 생성되어 있는 경우에는 다음 단계로 넘어갈 것

Omeka용 Solr Core 디렉토리 퍼미션 설정
$ chmod og+rwX /var/solr/data/omeka/data

Solr 서비스 재시작
$ sudo su - solr -c "/opt/solr/bin/solr restart"  



4. SolrSearch 플러그인 환경 설정

1) 오메카 관리자모드에서 SolrSearch 플러그인 설치 및 활성화

2) 관리자 모드 좌측 SolrSearch 메뉴 클릭

3) Solr 환경설정에서 Server 탭으로 들어가 다음과 같이 설정하고 저장
Server Host : localhost
Sever Port : 8983
Core URL* : /solr/omeka

4) Field 탭으로 들어가 메타항목별 DB 인덱싱 여부 및 패싯 노출 여부 설정
"Is Indexed?"는 해당 메타항목을 DB에서 색인하겠는지를 의미.
"Is Facet?는 해당 메타항목을 이용자 화면에서 검색을 위한 패싯으로 노출할 것인가를 의미.

5) Results 탭으로 들어가 아래의 항목별로 적절한 값을 입력합니다.
Facet Ordering : 빈도순 또는 알파벳순 중에서 하나를 선택합니다.
Facet Count : 패싯 항목별로 몇 개의 패싯을 출력시켜줄 것인지 설정합니다.

6) Index 탭으로 들어간 후 "Clear and Reindex" 버튼 클릭

6) 오메카 관리자모드 아이템 목록에서 아이템 하나를 신규 추가 
Solr 환경 설정을 했음에도 인덱싱이 되지 않아서 프론트엔드 Solr 검색 페이지에서 아이템 검색 결과가 0으로 나오는 경우가 있습니다.
이 경우에는 아이템을 하나 신규로 등록한 후 위의 6)번을 다시 수행합니다.



5. 이용자 화면 Solr 검색 페이지에서 검색 테스트

Solr 검색 페이지의 기본 주소는 아래와 같습니다.
http://서버아이피/solr-search?q=

[예시]
http://3.88.211.163/solr-search?q=

검색 페이지를 열고 좌측 패싯 메뉴와 우측 검색 결과 화면이 정상 출력되는지 확인합니다.
우측 검색 결과 화면에는 기본적으로 현재 시스템에 등록된 아이템 목록이 출력되어야 합니다.
좌측 패싯 메뉴 항목도 관리자모드에서 설정한 대로 출력되는지 확인합니다.









Tagged:
Sign In or Register to comment.