Apache kafka Kafka Connect-json路径-正则表达式条件不工作

Apache kafka Kafka Connect-json路径-正则表达式条件不工作,apache-kafka,apache-kafka-connect,confluent-platform,jsonpath,Apache Kafka,Apache Kafka Connect,Confluent Platform,Jsonpath,我有一个应用程序,使用连接器将数据保存到数据库。 我想通过删除具有特定属性的长消息来过滤保存的消息。 我的留言如下: { field_a : value, field_b : value, field_c : possible very long value } transforms: filterSpam transforms.filterSpam.type: io.confluent.connect.transforms.Filter$Value transforms.filt

我有一个应用程序,使用连接器将数据保存到数据库。 我想通过删除具有特定属性的长消息来过滤保存的消息。 我的留言如下:

{
  field_a : value,
  field_b : value,
  field_c : possible very long value
}
transforms: filterSpam
transforms.filterSpam.type: io.confluent.connect.transforms.Filter$Value
transforms.filterSpam.filter.condition: $[?(@.field_c =~ /^.{32000,}$/)]
transforms.filterSpam.filter.type: exclude
transforms.filterSpam.missing.or.null.behavior: include
因此,我在卡夫卡连接器中使用了汇合过滤器,如下所示:

{
  field_a : value,
  field_b : value,
  field_c : possible very long value
}
transforms: filterSpam
transforms.filterSpam.type: io.confluent.connect.transforms.Filter$Value
transforms.filterSpam.filter.condition: $[?(@.field_c =~ /^.{32000,}$/)]
transforms.filterSpam.filter.type: exclude
transforms.filterSpam.missing.or.null.behavior: include
由于某种原因,过滤器不工作。所有消息都会通过

我也尝试过否定:

$[?(!(@.field_c =~ /^.{1,32000}$/))]
在这种情况下,很长的被过滤掉,但也有一些较短的被过滤掉


我不明白这个问题是从哪里来的。有什么帮助吗?

实际上,我需要更新我的正则表达式知识。 这个问题与我试图应用正则表达式的字符串字段有时是多行的这一事实有关。 多亏了我,我成功地对这个字段的大小进行了适当的验证。 最后的解决办法是:

transforms.filterSpam.filter.condition: $[?(@.field_c =~ /(\s)^.{32000,}$/)]