导出整个数据库以便在csv

时间:2017-03-26 05:06:00

标签: elasticsearch

有关如何在csv中弹性搜索中导出整个数据库的任何想法?我只需要导出一个索引。

我尝试了以下python插件,但弹性搜索作为服务提供商抱怨根证书:

https://github.com/taraslayshchuk/es2csv/blob/master/README.rst

es2csv -i lead -a user:password -u https://host.us-east-1.aws.found.io:9243 -q'' -o database.csv

但是我得到:elasticsearch.exceptions.ImproperlyConfigured:证书验证缺少根证书。使用ca_certs参数传递它们或安装certifi以自动使用它。

帮助?我使用Elasticsearch.co作为弹性搜索服务

3 个答案:

答案 0 :(得分:2)

您可以使用Logstash将索引导出为CSV:

input {
 elasticsearch {
    hosts => "localhost:9200"
    index => "some-index"
    query => '{"query": {
                 "match_all": {}
             }}'
}
output {
  file {
    codec => line { format => "%{field1},%{field2}"}
    path => "some-index.csv"
  }
}

警告:有一个csv输出插件,但它有一个已知的版本Logstash 5.x的错误。上面的配置应该没问题。

答案 1 :(得分:1)

正如taraslayshchuk已经说过的,es2csv已经更新以支持SSL。对于elastic.co托管的ES,我一直在使用这样的东西:

es2csv.py -u https://myserverurl -i myindex-* -r -q '
{
  "query": {
      "range": {
            "@timestamp": {
                "gte": "2017-04-16T00:00",
                "lt": "2017-04-23T23:59",
                "time_zone": "-06:00"
            }
        }
    }
}
' -o outputfile.csv --auth user:password --use-ssl --verify-certs

答案 2 :(得分:0)

es2csv的最新更新有一个SSL补丁,可以解决您的问题。

相关问题