elasticsearch,logstash,Url,elasticsearch,Logstash" /> elasticsearch,logstash,Url,elasticsearch,Logstash" />

Logstash:为文档创建url友好的\u id

Logstash:为文档创建url友好的\u id,url,elasticsearch,logstash,Url,elasticsearch,Logstash,我正在使用fingerprint插件创建自定义\u id字段,这些字段应该是base64编码的: fingerprint { key => "somekey" base64encode => true method => "SHA512" source => [ "username" ] target => "[@metadata][custom_id]" } truncate { fields =

我正在使用
fingerprint
插件创建自定义
\u id
字段,这些字段应该是base64编码的:

  fingerprint {
    key => "somekey"
    base64encode => true
    method => "SHA512"
    source => [ "username" ]
    target =>  "[@metadata][custom_id]"
   }

   truncate {
    fields =>  "[@metadata][custom_id]"
    length_bytes => 20
   }
但是,以下是创建的示例密钥:

lStqstfpWw5OHe+B3FBi

上面的url友好,因此通过id进行操作变得很麻烦,因为它需要编码/解码


任何使
\u id
url友好的建议?

最终都会在某个时候这样做,这符合base64 url友好性及其指导原则

mutate {
  gsub => [
    "[@metadata][custom_id]", "\+", "-",
    "[@metadata][custom_id]", "/", "_"
    ]
}

base64编码中可能使用的字符之一是+(请参阅)。我认为您应该删除
base64encode=>true
,您将得到一个十六进制编码,这将是url友好的。