如何从PostgreSQL导入数据以进行弹性搜索?

时间:2019-04-01 22:34:34

标签: elasticsearch

我要导入弹性搜索的表中有一百万行?该怎么做?

2 个答案:

答案 0 :(得分:0)

  1. 将数据导出到json:https://hashrocket.com/blog/posts/create-quick-json-data-dumps-from-postgresql
  2. 从json文件导入数据:curl -XPUT localhost:9200 / _bulk --data-binary @ shakespeare.json

答案 1 :(得分:0)

您可以为此使用logstash,以下示例配置文件将数据从POSTGRES传送到elasticsearch,如下所示。您可以点击此链接以获取detailed tutorial

input {
  jdbc {
  jdbc_connection_string => "jdbc:postgresql://:5432/"
  jdbc_user => "<my-username>"
  jdbc_password => "<my-password>"
  jdbc_driver_library => "///postgresql-42.1.4.jar"
  jdbc_driver_class => "org.postgresql.Driver"
  statement => "SELECT * from contact"
  }
}
output {
  elasticsearch {
  index => "contact"
  hosts => ["localhost:9200"]
  }
}