从CSV导入文件到ES,设置ID自增不起作用。
匿名 | 发布于2018年09月28日 | 阅读数:4737
我用的是elasticsearch-rtf 5.1, elasticsearch-head 5.1.1, logstash-5.1.1,
然后我要吧CSV的文件导入到ES里面,因为CSV里面没有ID这个column,而且我还不想用系统自带的string类型的_id,所以我就在网站找到一个方法,就是在logstash 的conf文件里面,在output的位置加上document_id => "%{id}",但是,我加了这个之后,不但_id自增不起作用,现在连导入数据都有问题了。
运行这个文件后,
test doc显示1(250)
然后点进去查看,_id 下面竟然是%{id}
这到底是什么原因呢?请大神赐教。
另外,还有一个问题,正常导入CSV的时候,会把表格中的第一行header也导入进去,我想问一下,在5.1.1版本中,有没有什么方法去掉CSV的header啊?
谢谢了。
然后我要吧CSV的文件导入到ES里面,因为CSV里面没有ID这个column,而且我还不想用系统自带的string类型的_id,所以我就在网站找到一个方法,就是在logstash 的conf文件里面,在output的位置加上document_id => "%{id}",但是,我加了这个之后,不但_id自增不起作用,现在连导入数据都有问题了。
input {
file {
path => ["csv/chinese food.csv"]
start_position => "beginning"
}
}
filter {
csv {
columns => ["product","price","address","telephone",“contact_name”]
separator => ","
}
mutate {
remove_field => ["message","path","host"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test"
document_type => "food"
document_id => "%{id}"
}
stdout {}
}
运行这个文件后,
test doc显示1(250)
然后点进去查看,_id 下面竟然是%{id}
这到底是什么原因呢?请大神赐教。
另外,还有一个问题,正常导入CSV的时候,会把表格中的第一行header也导入进去,我想问一下,在5.1.1版本中,有没有什么方法去掉CSV的header啊?
谢谢了。
2 个回复
rochy - rochy_he
赞同来自:
你上面没有这个字段,所以没有生效
zqc0512 - andy zhou
赞同来自:
csv {
columns => ["product","price","address","telephone",“contact_name”]
separator => ","
}
这玩意就是对应每条数据的。没有必要再添加表投。
id问题见楼上。
你可以不要这个ID,让随机生成,看业务需求。