[백업][가리사니] apache solr dih (data import handler) 대안 solr db importer
solr
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
DIH 란?
Data Import Handler (이하 DIH) 는 data를 solr에 주입 시켜주는 기능으로 주로 Database 의 SELECT 쿼리를 사용하여 solr에 기본 데이터를 주입해 줄 수 있었습니다. 하지만 Apache Solr 9.0 부터는 기본 기능에서 제외 되었습니다. 때문에 빠른 노젓기(?)를 위해 바로 대안을 만들었습니다.
Solr DB Importer
https://github.com/saro-lab/solr-db-importer
사용법
- 다운로드 solr-db-importer-1.0.jar
java -jar solr-db-importer-1.0.jar
- 아래 DB에 해당하는 예제 설정파일이 자동생성됩니다.
- mariadb
- oracle
- mssql
- mysql
- postgresql
- h2
- 아래 DB에 해당하는 예제 설정파일이 자동생성됩니다.
- 예제파일을 가지고 db-import.xml 를 만듭니다.
# examples에 있는 마리아 DB를 이동시켜 db-import.xml 생성 cp ./examples/db-import-mariadb.xml ./db-import.xml
- db-import.xml 을 알맞게 수정합니다.
<conf> <driver>org.mariadb.jdbc.Driver</driver> <jdbcUrl>jdbc:mariadb://localhost:3306/dbname</jdbcUrl> <username>username</username> <password>password</password> <bulkExecuteRowCount>1000</bulkExecuteRowCount> <solrSchemaUrl>http://localhost:8983/solr/schema_name</solrSchemaUrl> <select><![CDATA[ SELECT text_sn as id, title as subject, reg_dt FROM test_table WHERE text_sn > 0 ]]></select> </conf>
- 다시 실행합니다.
java -jar solr-db-importer-1.0.jar
이렇게 하면 DIH 를 사용하지 않고 초기 데이터를 넣을 수 있습니다.