2016-12-28 2 views
0

mysql db에서 결과 세트를 얻고 json으로 변환 한 다음 탄성 검색 API를 사용하여 인덱싱하려고합니다.탄성 검색을 사용하여 mysql 레코드를 인덱싱

Google은 로그 검색을 사용하여 데이터를 직접 탄성 검색으로 인덱싱 할 수 있다는 것을 알았지 만 많은 샘플을 검색했지만 샘플 코드는 자바 코드를 통해이를 수행하는 방법을 찾지 못했습니다.

(logstash를 사용하여 인덱싱하거나 결과 세트를 json으로 변환 한 다음 elasticsearch를 통해 인덱싱하는) 가장 적합한 방법이 될지 잘 모르겠습니다.

모든 샘플 코드/링크는 매우 유용합니다. 당신이 logstash를 사용하여 기꺼이 경우

답변

2

당신은 당신이 할 수 귀하의 elasticsearch 예로 MySQL 데이터베이스 인덱스에서 데이터를 그릴 수 jdbc 입력 플러그인을 사용 할 수도 있습니다.

input { 
    jdbc { 
     jdbc_connection_string => "jdbc:mysql://yourhost:3306/yourdb" 
     jdbc_user => "root" 
     jdbc_password => "root" 
     jdbc_validate_connection => true 
     jdbc_driver_library => "/pathtojar/mysql-connector-java-5.1.39-bin.jar" 
     jdbc_driver_class => "com.mysql.jdbc.Driver" 
     schedule => "* * * * *" <-- if you need the query to be running continuously at a time span 
     statement => "SELECT * FROM yourtable" <-- change the query to your need   
     jdbc_paging_enabled => "true" 
     jdbc_page_size => "50000" 
    } 
} 

위의 내용은 예제 일 뿐이므로 원하는대로 재현 할 수 있습니다. 어떤 방법이 좋을지 확신하지 못합니다. json으로 변환하거나 logstash을 사용하여 색인을 생성하십시오. 이 thread을 살펴볼 수 있습니다. 희망이 도움이됩니다!

+0

logstash를 사용할 의향이 있지만 위의 conf 파일을 내 Java 코드와 통합하는 방법을 모르겠습니다 ... – Anand

+0

마침내 http://sackoverflow.com/questions/35504385/run-logstash-in에서 ans를 사용하여 작업했습니다. -java-program – Anand

관련 문제