我有logstash设置将输出发送到elastisearch:
output {
stdout { codec => rubydebug}
elasticsearch_http {
host => "localhost"
index => "logstash-systest-%{+YYYY.MM.dd}"
document_id => 1
index_type => "systemtest"
}
}
日志文件中包含许多行数据,stdout显示正在解析和格式化所有这些行。但是,当我使用match_all查询查询elasticsearch时,返回的唯一结果是来自日志文件最后一行的数据。
POST /logstash-systest-2014.10.06/_search
{
"query": {"match_all": {}}
}
为什么只返回最后一行数据?我重新启动了elasticsearch和logstash并删除了sincedb,结果仍然相同。
答案 0 :(得分:2)
此处的问题是您设置了文档ID。所以每行都有相同的id。这意味着每一行都会被下一行删除。