首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将csv导入elasticsearch

将csv导入elasticsearch
EN

Stack Overflow用户
提问于 2017-04-30 06:19:44
回答 2查看 29.7K关注 0票数 24

我正在做“弹性搜索入门”教程。不幸的是,本教程没有涵盖将csv数据库导入到elasticsearch中的第一步。

我在谷歌上寻找解决方案,但不幸的是它不起作用。以下是我想要实现的目标和我所拥有的:

我有一个包含要导入的数据的文件(简化)

代码语言:javascript
运行
复制
id,title
10,Homer's Night Out
12,Krusty Gets Busted

我想使用logstash导入它。在互联网上搜索后,我最终得到了以下配置:

代码语言:javascript
运行
复制
input {
    file {
        path => ["simpsons_episodes.csv"]
        start_position => "beginning"
    }
}

filter {
    csv {
        columns => [
            "id",
            "title"
        ]
    }
}

output {
    stdout { codec => rubydebug }
    elasticsearch {
        action => "index"
        hosts => ["127.0.0.1:9200"]
        index => "simpsons"
        document_type => "episode"
        workers => 1
    }
}

我在指定文档类型时遇到了问题,所以一旦导入数据并导航到http://localhost:9200/simpsons/episode/10,我希望看到第10集的结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-30 12:30:25

干得好,您马上就到了,只是缺少文档ID。您需要像这样修改您的elasticsearch输出:

代码语言:javascript
运行
复制
elasticsearch {
    action => "index"
    hosts => ["127.0.0.1:9200"]
    index => "simpsons"
    document_type => "episode"
    document_id => "%{id}"             <---- add this line
    workers => 1
}

在此之后,您将能够查询id为10的剧集

代码语言:javascript
运行
复制
GET http://localhost:9200/simpsons/episode/10
票数 16
EN

Stack Overflow用户

发布于 2019-01-25 19:07:13

我是moshe/elasticsearch_loader的作者

我为这个问题写了ESL。

你可以用pip下载:

代码语言:javascript
运行
复制
pip install elasticsearch-loader

然后,您可以通过执行以下命令将csv文件加载到elasticsearch中:

代码语言:javascript
运行
复制
elasticsearch_loader --index incidents --type incident csv file1.csv

此外,还可以通过将--id-field=document_id添加到命令行来使用自定义id文件

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43701016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档