1. 진행과정
1) MariaDB 설치 및 MariaDB 드라이버 다운로드
2) MariaDB에 테스트용 Table 생성 및 임시 데이타 입력
3) Solr 와 MariaDB 연동을 위한 Solr 설정
4) Solr start or restart
5) Solr 인덱스 생성
6) Solr 검색테스트
2. MariaDB 설치 및 MariaDB 드라이버 다운로드
1) MariaDB 윈도우 설치는 https://mariadb.com/downloads/mariadb-tx 에서 파일을 다운로드 해서 설치만 하면 된다.
2) MariaDB 드라이버는 https://mariadb.com/mariadb-tx-download 에서 다운로드 받아 압축을 풀어
jar파일(mariadb-java-client-버전.jar)이 나오면
D:\Program\solr-6.6.5\server\solr-webapp\webapp\WEB-INF\lib 경로 하위에 붙여넣는다.
3. MariaDB에 테스트용 Table 생성 및 임시 데이타 입력
1) 일단 solr 라는 데이타베이스를 생성한다. (본인이 원하는 데이타베이스에 만들어도 됨.)
CREATE DATABASE 'solr'
2) solr 라는 테이블 만들기 : 간단히 ID와 제품명만 관리하는 테이블을 만들고 제품명에 임이의 제품명들을 저장하도록 한다.
- table 생성
CREATE TABLE 'solr_test' ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id', `product_name` VARCHAR(200) NOT NULL DEFAULT '0' COMMENT 'Product Name', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB; |
3) 생성된 Solr테이블에 제품명을 몇개 insert한다. (id는 자동증가로 되어있어 궂이 입력하지 않아도 된다.)
: 네이버 쇼핑에서 검색한 의류의 명칭을 몇개 조회해서 저장하도록 하겠다.
INSERT INTO solr_test (product_name) VALUES ('코튼모달 오렌지'); INSERT INTO solr_test (product_name) VALUES ('플로럴 끈 스트랩 조절 크롬 나시 탑'); INSERT INTO solr_test (product_name) VALUES ('여름 카브라 스트라이프 반팔티 루즈핏 3컬러'); INSERT INTO solr_test (product_name) VALUES ('레이어드 프릴 나시'); INSERT INTO solr_test (product_name) VALUES ('여름 나시 3컬러'); INSERT INTO solr_test (product_name) VALUES ('남성 바지');
|
4. Solr 와 MariaDB연동을 위한 설정
1) 바로 앞 포스팅에서 나는 D:\Program\solr-6.6.5 경로에 Solr 폴더를 위치시켰다.
그리고 dasdes라는 CORE를 생성시켜놓은 상태다.
이제 D:\Program\solr-6.6.5\server\solr\dasdes\conf 하위에 있는 solrconfig.xml 파일을 수정해야 한다.
solrconfig.xml 파일을 열어 제일 아래쪽으로 스크롤을 이동시키자.
그런다음 </config> 코드 앞쪽(이전)에 아래코드를 붙여넣고 저장한다.
<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">solr-data-config.xml</str> </lst> </requestHandler> |
2) 위 내용에 나오듯이 DB Connection과 table 조회쿼리가 저장될 solr-data-config.xml 파일을 생성 후 수정한다.
- 생성위치 : D:\Program\solr-6.6.5\server\solr\dasdes\conf
- solr-data-config.xml 의 내용 (DB 접속 아이디와 비밀번호는 solr/solr 로 만들어놓았음)
<?xml version="1.0" encoding="UTF-8" ?> <dataConfig> <dataSource driver="org.mariadb.jdbc.Driver" url="jdbc:mariadb://localhost:3306/solr?autoReconnect=true" user="solr" password="solr" /> <document> <entity name="document" query="SELECT id, product_name FROM solr_test "> <field column="id" name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/> <field column="product_name" name="product_name" /> </entity> </document> </dataConfig> |
3) Managed-schema 변경 (검색한 내용을 solr에서 인식하기 위한 설정)
- 위치 : D:\Program\solr-6.6.5\server\solr\dasdes\conf
- 추가사항 (위 조회항목은 id, product_name 두개인데 이미 "<field name" 이라고 되어있는 설정에 id 가 있어
product_name만 추가로 설정한다.
- "<field name" 부분을 검색하여 다음 내용을 그 아래쪽에 붙여준다. (product_name 항목을 한국어 형태소로 처리하겠다는 설정)
<field name="product_name" type="txt_kr" indexed="true" stored="true"/>
|
5. Solr start or restart
:D:\Program\solr-6.6.5\bin 에서 cmd창을 열어 다음 명령어 실행
1) solr start
2) 브라우저에서 http://localhost:8983/solr 로 접속해본다.
3) 앞 포스팅에서 생성해놓은 dasdes CORE를 선택한 후 왼쪽메뉴의 "DataImport"메뉴를 선택한다.
4) "Excute" 버튼을 눌러 MariaDB의 데이타를 땡겨온다.
6. Solr 검색테스트
: 왼쪽 메뉴의 Query 를 이용하여 제대로 동작하는지 테스트 해본다.
1) 전체조회 ==> Execute Query 만 클릭하면 된다.
2) 두 단어가 모두 포함된 검색결과를 얻고싶을 때
예) 여름과 나시 두 단어 모두 포함된 결과를 얻고자 할 때
==> product_name:나시 AND 여름 (만약 쇼핑몰일 경우 고객이 검색창에 "여름 나시"라고 입력했으면 space로 분리하여
그 space를 AND 형태로 변형하여 Solr 쿼리에 넘겨준다.)
2) 기존 index를 모두 삭제하고 싶을 때
http://localhost:8983/solr/[여기에 본인이 만든 core명을 입력한다.]/update?commit=true&stream.body=<delete><query>*</query></delete>
여기서는 core명을 dasdes로 했으니 아래와 같이 브라우저 url에 입력하면 되겠죠?
http://localhost:8983/solr/dasdes/update?commit=true&stream.body=<delete><query>*</query></delete>
만족하셨나요? ~~~~~~~
'오픈소스 > Apache Solr ' 카테고리의 다른 글
Apache Solr 6.6.5 설치 (Windows10) (0) | 2018.07.16 |
---|