我的数据库上的一列(同步到我的 SOLR 存储库)是 XML,看起来像这样:
<Party>
<StartDate>2013-12-31T06:00:00</StartDate>
</Party>
在 SOLR 中,它存储在 type="string"
中现场一切正常。
但是现在,我希望提取 <StartDate>
来自 XML 的值并将其存储在独立的 string
中或date
字段(目前还没有偏好)。
解决这个问题的最佳方法是什么?
我的解决方案是附加一个 JavaScript 转换器,它将使用普通字符串函数(即 indexOf 和 substring)解析 XML。但这看起来不太漂亮。有没有更简单的方法?
最佳答案
需要结合数据源的切换来使用嵌套实体。对于内部数据源,需要使用 FieldReaderDataSource使用 XPathEntityProcessor 处理 XML 到目标值的映射。我认为您的日期已经采用正确的格式,可以直接映射到数据类型。但如果不是,则需要使用DateFormatTransformer于内在实体上。
关于Solr DataImportHandler - 转换 XML 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14496976/