DB/Solr

[Solr] apache solr-5.3.0 데이터베이스 (MySQL) 연동 및 인덱스 작업

HMHA 2023. 2. 6. 11:29
300x250
반응형

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>

 

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

 

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
 <dataSource type="JdbcDataSource" driver="com.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>

 

5). 생성한 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>

 

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

 

명령어 예제: ./solr restart -s /home/kogun82/workspace/kobic -p 1818

 

 

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

 

 

 

 

 

출처 : https://kogun82.tistory.com/157

 

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 파일에 아래의 내용을 추가한다. data-config

kogun82.tistory.com

 

300x250
반응형