如何使用 Xquery 去除 flume morphline.conf 文件中的 HTML 内容

How to strip HTML content in flume morphline.conf file using Xquery

我们正在尝试使用 flume MorphlineSolrSink 将示例 xml 文件索引到 cloudera solr。

我们创建了 2 个通道(solrchannel、hdfschannel)和 2 个接收器(solrsink、hdfssink)。 我们能够使用此 flume 和 morphline 配置在 cloudera solr 中索引文档。

问题 1):我们在 XML 文件中有 2 个字段标题和内容,我们想在将其发送到 SOLR 之前从这 2 个字段中删除 HTML 内容。 您能告诉我们如何实现吗?

问题 2) : 我必须更改 2 个字段的日期格式,createDate 和 PublishedDate。 你能告诉我如何编写一次更改两个文件的日期格式的逻辑吗?

我正在使用 xQuery 从我的 XML 文件中提取日期。


morphline.conf https://gist.github.com/jsbonline2006/e04433f9b11cdcafa865#file-morphline-conf


我找到了以下解决方案来解决我的问题,因此我想与大家分享:

2) 在 Xquery 命令块之后,我编写了以下代码将日期转换为所需的格式,并且运行良好。

  {
    convertTimestamp {
      field : createDate
      inputFormats : ["E MMM dd HH:mm:ss z yyyy", "yyyy-MM-dd"]
      inputTimezone : UTC
      outputFormat : "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
      outputTimezone : America/Los_Angeles
    }
  }

  {
    convertTimestamp {
      field : publishedDate
      inputFormats : ["E MMM dd HH:mm:ss z yyyy", "yyyy-MM-dd"]
      inputTimezone : UTC
      outputFormat : "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
      outputTimezone : America/Los_Angeles
    }
  }

1) 为了从标题和内容中剥离 HTML 标签,我们编写了一个 Java 代码,并且在将文件内容发送到 flume 之前将其插入到我们的管道中。

希望这对您也有帮助!!!!

此致,

Jayesh Bhoyar

http://technical-fundas.blogspot.in/p/technical-profile.html