我有一些logstash输入,我使用document_id
删除重复项。但是,大多数输入没有document_id
. 以下是实际的document_id
通过,但如果它不存在,它会被接受为字面意思%{document_id}
,这意味着大多数文档被视为彼此的副本。这是我的输出块的样子:
output {
elasticsearch_http {
host => "127.0.0.1"
document_id => "%{document_id}"
}
}
我想我也许可以在输出中使用条件。它失败了,错误在代码下方给出。
output {
elasticsearch_http {
host => "127.0.0.1"
if document_id {
document_id => "%{document_id}"
}
}
}
Error: Expected one of #, => at line 101, column 8 (byte 3103) after output {
elasticsearch_http {
host => "127.0.0.1"
if
我尝试了一些“if”语句,但它们都失败了,这就是为什么我认为问题在于该块中有任何类型的条件。以下是我尝试过的替代方案:
if document_id <> "" {
if [document_id] <> "" {
if [document_id] {
if "hello" <> "" {