solr:如何将iso8601日期范围转换为数据导入的日期范围



我有一个xml文件(ead-档案描述(,包含符合iso8601的日期范围"1678/1768"我想把它作为一个日期范围[1678到1768]介绍给solr在我的schema.xml中,我定义了

<fieldType name="dateRange" class="solr.DateRangeField">
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(d+)/(d+)" replacement="[$1 TO $2]">
</charFilter>
</fieldType>

<field name="dateRange" type="dateRange" indexed="true" stored="true" multiValued="true"/>

在datahandler.xml 中

<field column="dateRange" xpath="/ead/archdesc/did/unitdate/@normal"/>

当我试图对系统进行索引时,对其进行索引,但当我用*.*查询它时,我没有收到任何输出。

感谢的帮助

日期范围字段不能附加筛选器。您可以使用更新请求处理器在Solr看到内容之前重新格式化内容,但更好的是,您可以直接在数据导入处理程序规范中使用regex转换器,从xpath查询选择的内容中获得您想要的格式:
regex="(d+)/(d+)" replaceWith="[$1 TO $2]"

最新更新