在索引来自我系统上的本地文件夹的数据时,我正在使用下面给出的配置。但是,lastmodified属性的格式为" Wed 23 May 09:48:08 UTC" ,这不是solr用于过滤查询的标准格式。 所以,我正在尝试格式化data-config.xml中的lastmodified属性,如下所示。
<dataConfig>
<dataSource name="bin" type="BinFileDataSource" />
<document>
<entity name="f" dataSource="null" rootEntity="false"
processor="FileListEntityProcessor"
baseDir="D://FileBank"
fileName=".*\.(DOC)|(PDF)|(pdf)|(doc)|(docx)|(ppt)" onError="skip"
recursive="true" transformer="DateFormatTransformer">
<field column="fileAbsolutePath" name="path" />
<field column="fileSize" name="size" />
<field column="fileLastModified" name="lastmodified" dateTimeFormat="YYYY-MM-DDTHH:MM:SS.000Z" locale="en"/>
<entity name="tika-test" dataSource="bin" processor="TikaEntityProcessor"
url="${f.fileAbsolutePath}" format="text" onError="skip">
<field column="Author" name="author" meta="true"/>
<field column="title" name="title" meta="true"/>
<!--<field column="text" />-->
</entity>
</entity>
</document>
</dataConfig>
但是变压器没有效果,并且再次索引相同的格式。有人有这个成功吗?上面的配置是正确的,还是我错过了什么?
答案 0 :(得分:1)
您提供的dateTimeFormat似乎不正确。大写和小写字符have different meaning。您显示的格式也与您尝试解析的日期文本不匹配。所以,它可能使它保持无与伦比。
此外,如果您有多种不同的日期格式,则可以在 DIH运行后通过创建自定义UpdateRequestProcessor链来解析它们。您可以看到 schemaless 示例,其中有多种日期格式作为自动映射的一部分,但您也可以明确地为特定字段执行相同的操作。