Solr DataImportHandler - 转换XML字段

时间:2013-01-24 08:35:43

标签: solr dataimporthandler

我的数据库上的一列(与我的SOLR存储库同步)是XML,看起来像:

<Party>
    <StartDate>2013-12-31T06:00:00</StartDate>
</Party>

在SOLR中,它存储在type="string"字段中,一切正常。

但是,现在,我希望从XML中提取<StartDate>值并将其存储在独立的stringdate字段中(目前尚无偏好)。

解决这个问题的最佳方法是什么?

我的解决方案是附加一个JavaScript转换器,它将使用普通字符串函数(即indexOf和substring)解析XML。虽然这看起来不是很漂亮。有更简单的方法吗?

2 个答案:

答案 0 :(得分:3)

您需要将嵌套实体与数据源切换结合使用。对于内部数据源,您需要使用FieldReaderDataSource和XPathEntityProcessor来处理XML到目标值的映射。我认为您的日期已经采用正确的格式直接映射到数据类型。但如果不是,则需要在内部实体上使用DateFormatTransformer

答案 1 :(得分:0)

我建议您查看Solr DateFormatTransformer提供的DataImportHandler