4-1. 설치
- JAVA 설치
OpenJDK 1.8 설치
- Solr 설치
지금부터는 JAVA가 설치되어있다고 가정합니다.
http://lucene.apache.org/solr/
위 사이트에서 Solr를 다운로드 할 수 있습니다.
Linux에서는 tgz, Windows에서는 zip파일을 다운로드합니다.
cd ~/<설치 디렉토리> tar zxf solr-x.y.z.tgz
Linux 환경에서 위와 같이 수행하면 설치가 완료됩니다.
Windows 환경에서는 zip파일을 압축풀기하는것으로 설치가 완료됩니다.
4-2. 실행 및 종료
- Solr를 설치한 후에 설치된 디렉토리 아래의 bin 폴더로 이동합니다. (windows에서는 cmd창을 활용합니다.)
cd /<설치 디렉토리>/solr_dir/bin - 실행
아래 명령어를 입력하면 Solr가 실행됩니다. 기본 포트는 8983이며 -p 옵션을 사용하여 포트를 지정할 수 있습니다.
solr start -p 8984 // -p 8984는 옵션
http://localhost:8983/solr/ 링크에 접속하였을 때, 이 화면이 나타난다면, 정상적으로 설치가 완료된 것입니다..
- 중지 / 재실행
아래 명령어를 사용하면 Solr 서버를 중지할 수 있습니다. stop과 restart는 반드시 포트번호를 입력해야합니다.
solr stop -p 8983 // solr 서버 중지 solr restart -p 8983 // solr 서버 재시작 - 상태 보기
현재 solr의 상태를 확인하려면 아래 명령어를 입력합니다.
solr status
4-3. Core 생성
- Core를 생성하려면 아래 명령어를 실행합니다.
solr create -c <사용할 코어 이름>
4-4. xml import 방법
<add>
<doc>
<field name="id">id_data</field>
<field name="filename">file_name_data</field>
<field name="content">content_data</field>
<field name="content">cd /opt/el; echo $[/myServer/SidsProperty]</field> <!-- $[변수]를 활용하여 데이터를 가져올 수도 있다. -->
</doc>
</add>
위의 xml폼을 입력하여 solr 에 post 요청을 하게 되면, 데이터가 입력된다.
<add> </add> 를 사용하게 되면 xml에서 지정한 필드에 맞춰 데이터가 입력된다.
- simple Post Tool 활용하여 solr에 데이터 import
디렉토리를 이동하고, 명령을 수행합니다.
cd /solr/example/exampledocs java -Dc=<core이름> -jar post.jar *.xml // Windows
post -c <core이름> example/exampledocs/*.xml // Linux
exampledocs 폴더에 있는 모든 xml파일이 post로 solr 서버에 전달됩니다.
4-5. 쿼리 예제
- /select
예시) http://localhost:8983/solr/<core이름>/select?q=price:0%20TO%20400&fl=id,name,price&facet=true&facet.field=cat&fq=cat:software
위 url에서 /select이하의 내용으로 쿼리에 대하여 알아봅니다.
q=price:0%20TO%20400&fl=id,name,price&facet=true&facet.field=cat&fq=cat:softwareparameter 의미 예시풀이 q 쿼리 name이 price인 대상을 검색합니다. 콜론(:)을 사용하여 추가 조건을 설정합니다.
"0 TO 400" 0에서 400까지의 price값을 가진 대상을 검색합니다.fl 필터(결과값으로 받을 필드 설정) 검색 결과에서 표시할 데이터를 보여줍니다. id, name, price를 지정하였습니다. facet 패싯검색 사용여부 설정 true로 설정하면 패싯 검색을 활용할 수 있습니다. facet.field 패싯 검색 필드 설정 리스트 중 name이 cat인 필드를 검색합니다. fq 필터 쿼리 패싯 검색의 결과로 받은 대상중 name이 software인 대상을 반환합니다.
반응형
'BackEnd > 기타' 카테고리의 다른 글
SOLR 검색엔진이란? (0) | 2019.06.10 |
---|