Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да интегрирам ElasticSearch с MySQL?

От ES 5.x те са предоставили тази функция от кутията с logstash плъгин.

Това периодично ще импортира данни от базата данни и ще изпраща към ES сървър.

Човек трябва да създаде прост файл за импортиране, даден по-долу (който също е описан тук ) и използвайте logstash, за да стартирате скрипта. Logstash поддържа изпълнение на този скрипт по график.

# 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

Можете да изтеглите mysql jar от maven тук .

В случай, че индекси не съществуват в ES, когато този скрипт се изпълнява, те ще бъдат създадени автоматично. Точно като обикновено извикване след публикация към 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. SQL Актуализация и замяна на подниз

  2. Как мога да преглеждам всички редове на таблица? (MySQL)

  3. Предупреждение:mysqli::mysqli():(HY000/1045):Достъпът е отказан за потребител 'database'@'localhost' (използвайки парола:NO) в

  4. Как да настроя ASP.NET MVC 2 с MySQL?

  5. Как работи операторът SOUNDS LIKE в MySQL