我正在使用Logstash来提取自定义日志。我希望文档的索引名称是由字段documentID构建的,这是一个GUID。我发现ElasticSearch将存储文件,如果" documentID"是所有数字或小写字母。如果有大写,则失败。索引中的字符串类型是否有限制?
input {
tcp{
port=>3362
type="mf_data"
codec=>"json_lines"
}
}
filter{
json{source=>"message"}
grok{match=>"message","documentID:%{DATA:documentID}"]}
}
output{
elasticsearch{
host=>"localhost"
index_type=>"customType"
index=>"event_%{documentID}"
}
}
输入是{"域":" test.com"," documentID":" cAmii"}
答案 0 :(得分:1)
检查this post:
索引名称受文件系统限制。他们可能只会更低 案例,我的开头不是下划线。虽然我们没有阻止 索引名称以。开头,我们保留供内部使用的名称。 显然,。和..不能使用。
这些字符已经非法:\,/,*,?,",<,>,| ,,,。我们 还应该添加空字节。
在Windows中还有其他非法的文件名,但我们 可能不需要检查那些。