ElasticSearch将完整索引转储到csv文件

时间:2014-08-28 09:27:44

标签: elasticsearch export-to-csv

是否可以在export whole index文件中轻松.csv(所有存储的字段)弹性搜索群集(可能是开箱即用的)?

我能想到的另一种选择是查询整个索引,然后转换结果......但我真的不喜欢解析一个怪异的json的想法,因为它包含数百万个文档!

是否还有其他方式或想法可以实现出口?

2 个答案:

答案 0 :(得分:1)

免责声明:我是Estab。

的作者

estab将弹性搜索字段导出为制表符分隔值。如果您没有太多字段,则可以轻松地将它们全部显式导出。内部建立使用扫描和滚动API。

示例:

假设您的索引包含以下文档:

{
    "name": "Kiwi",
    "genus": "Apteryx",
    "populations": [
        {"location": "North Island", "size": 2500},
        {"location": "Little Barrier Island", "size": 2000}
    ]
}

然后您可以通过以下方式导出整个索引:

$ estab -f 'name genus populations.location populations.size'
Kiwi    Apteryx North Island|Little Barrier Island  2500|2000

请注意,嵌套字段不容易映射到表格形式。默认情况下,estab会将多个值分隔为|,您可以通过常用的点表示法引用嵌套字段。

答案 1 :(得分:0)

您可以使用Scan and Scroll API。那么你就不会有一个可怕的JSON文件来解析 - 你可以用更小的批量来完成它。