티스토리 뷰
두번째로 소개하는 색인 방법은 data-import handler를 이용한 db 색인이다.
1. solr 설치 및 준비 에서 현재 권장버전인 solr-6.4.0 에 오류가 있어 solr-6.4.1을 사용한다고 하였는데 6.4.0 버전에서 data-import handler를 쓸때 버그가 있기 때문이다 (http://stackoverflow.com/questions/41939621/solr-mysql-sorry-no-dataimport-handler-defined)
data-import handler를 이용한 db 데이터 색인은 대량의 데이터를 색인할때 굉장히 유용한 방법이니 학습해두면 큰 도움이 될 것으로 생각된다.
실습
1. 색인을 할 db를 생성한다. (본 블로그에서는 https://github.com/gujc71/project9 제공하는 DB 를 사용한다.)
2. https://dev.mysql.com/downloads/connector/j/ 에서 mysql connector 를 다운받아 solr-6.4.1/dist 로 이동시킨다.
3. solr-6.4.1/server/solr/test/conf 폴더에 data-config.xml 파일을 만들고 아래 코드를 입력한다.
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/project9"
user="root"
password="1234"/>
<document name="sample">
<entity name="TBL_BOARD"
query="select brdno,brdtitle from TBL_BOARD">
<field column="brdno" name="id"/>
<field column="brdtitle" name="brdtitle"/>
</entity>
</document>
</dataConfig>
4. solr-6.4.1/server/solr/test/conf 폴더에 solrconfig.xml 파일을 열고 아래 코드를 추가한다.
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-\d.*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
5. solr-6.4.1/server/solr/test/conf 폴더에 managed-schema 에 필드를 추가한다. (기존에 만들어져있는 id에 brdno 값을 넣었기 때문에 필드를 추가할 필요가 없다.)
<field name="brdtitle" type="string" indexed="true" stored="true"/>
6. bin/solr restart 로 재시작한 후 dataimport 메뉴에 들어간 후 Excute 한다.
7. query 메뉴에서 db정보가 잘 들어왔는지 확인한다.
'검색엔진 > Solr' 카테고리의 다른 글
5. 검색 - 한글분석기 (0) | 2017.02.08 |
---|---|
3. 색인 (1) - SolrJ (0) | 2017.02.08 |
2. Core 생성 (0) | 2017.02.08 |
1. Solr 설치 및 준비 (1) | 2017.02.07 |