새소식

Search Engine

Apache Solr-5.3.0과 MySQL 연동 및 인덱스 생성

  • -

1). Java MySQL connector 를 다운받고 sole 웹 서버의 라이브러리 폴더에 복사한다. 

~/solr-5.3.0/server/solr-webapp/webapp/WEB-INF/lib

 

2). 생성한 core 폴더 /conf/solrconfig.xml 파일에 아래의 내용을 추가한다.

<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
	<lst name="defaults">
		<str name="config">data-config.xml</str>
	</lst>
</requestHandler>


3). 생성한 core 폴더 /conf/data-config.xml 파일을 생성하고 아래의 내용을 추가한다.

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
 <dataSource type="JdbcDataSource" driver="cohttp://m.mysql.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/kogun82"
  user="xxx" password="xxx" />
 <document name="headwords">
  <entity pk="user_id" name="user_test" dataSource="kogun82" query="select * from kogun82.user" transformer="RegexTransformer">
   <field column="user_name" name="user_name" />
   <field column="user_id" name="user_id" />
   <field column="organization" name="organization" />
   <field column="position" name="position" />
   <field column="email_adress" name="email_adress" />
   <field column="regdate" name="regdate" />
   <field column="last_login" name="last_login" />
   <field column="identity_number" name="identity_number" />
  </entity>
 </document>
</dataConfig>


4). 생성한 core 폴더 /conf/ managed-schema 파일에 데이터베이스에서 가져오는 정보와 같도록 filed 를 설정한다.

<fields>
  <field name="user_name" type="text_ko" indexed="true" stored="true"/>
  <field name="user_id" type="string" indexed="true" stored="true" multiValued="false" />
  <field name="organization" type="text_ko" indexed="true" stored="true"/>
  <field name="position" type="text_ko" indexed="true" stored="true"/>
  <field name="email_adress" type="string" indexed="true" stored="true"/>
  <field name="regdate" type="string" indexed="true" stored="true"/>
  <field name="last_login" type="string" indexed="true" stored="true"/>
  <field name="identity_number" type="string" indexed="true" stored="true"/>
  <field name="_version_" type="long" indexed="true" stored="true" />
  <field name="kogun82"  type="string"   indexed="true"  stored="true"  multiValued="false" />
  <field name="type"  type="string" indexed="true"  stored="true"  multiValued="false" />
 </fields>
 <uniqueKey>user_id</uniqueKey>


5). solr 데몬을 다시 재시작 한다.

 

명령어 예제 

./solr restart -s /home/kogun82/workspace/kobic -p 1818


6). Dataimport 메뉴 기능을 이용하여 데이터베이스의 내용을 인덱스 한다.

 

실행 화면 - 1

 

실행 화면 - 2

 

 

 



 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.