我正在做“elasticsearch入门”教程。不幸的是,本教程没有介绍将csv数据库导入Elasticsearch的第一步。
csv
我用谷歌搜索找到了解决方案,但不幸的是它无法正常工作。这是我要实现的目标和拥有的目标:
我有一个要导入的数据文件(简化了)
id,title 10,Homer's Night Out 12,Krusty Gets Busted
我想使用导入logstash。经过互联网研究后,我得到以下配置:
logstash
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集的结果。
干得好,您快到了,只缺少文档ID。您需要elasticsearch像这样修改输出:
elasticsearch
elasticsearch { action => "index" hosts => ["127.0.0.1:9200"] index => "simpsons" document_type => "episode" document_id => "%{id}" <---- add this line workers => 1 }
之后,您将可以查询ID为10的剧集
GET http://localhost:9200/simpsons/episode/10