Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengintegrasikan ElasticSearch dengan MySQL?

Pada ES 5.x , mereka telah memberikan fitur ini di luar kotak dengan simpanan log pengaya.

Ini akan secara berkala mengimpor data dari database dan mendorong ke server ES.

Kita harus membuat file impor sederhana yang diberikan di bawah ini (yang juga dijelaskan di sini ) dan gunakan logstash untuk menjalankan skrip. Logstash mendukung menjalankan skrip ini sesuai jadwal.

# file: contacts-index-logstash.conf
input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
        jdbc_user => "user"
        jdbc_password => "pswd"
        schedule => "* * * * *"
        jdbc_validate_connection => true
        jdbc_driver_library => "/path/to/latest/mysql-connector-java-jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        statement => "SELECT * from contacts where updatedAt > :sql_last_value"
    }
}
output {
    elasticsearch {
        protocol => http
        index => "contacts"
        document_type => "contact"
        document_id => "%{id}"
        host => "ES_NODE_HOST"
    }
}
# "* * * * *" -> run every minute
# sql_last_value is a built in parameter whose value is set to Thursday, 1 January 1970,
# or 0 if use_column_value is true and tracking_column is set

Anda dapat mengunduh toples mysql dari maven di sini .

Jika indeks tidak ada di ES saat skrip ini dijalankan, mereka akan dibuat secara otomatis. Sama seperti panggilan pos biasa ke elasticsearch



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana mengetahui hubungan antar tabel

  2. BUAT TABEL SEPERTI A1 sebagai A2

  3. terus mendapatkan kesalahan sintaks (php/mysql)

  4. Menentukan ENUM mySQL dalam model Django

  5. Sintaks SQL INSERT – Didaftarkan oleh DBMS