0

感谢之前的回复。我有以下文件。我正在使用 /update/csv 处理程序将其索引到 solr!我的问题是我必须先转换这个文件,然后才能将第一个字段作为日期索引为所需的格式......或者我可以使用 map 参数来实现相同的..

    2011-12-16 21:16:36,510 Total: 2139 Free: 1569
    2011-12-16 21:17:07,593 Total: 2139 Free: 1572
    2011-12-16 21:17:38,819 Total: 2139 Free: 1572
    2011-12-16 21:18:09,789 Total: 2138 Free: 1567
    2011-12-16 21:18:40,667 Total: 2139 Free: 1580

因此,我尝试使用 map 参数..

字段名=logged_dt,val_s

f.logged_dt.map=* *:*T*Z

基本上我希望每一行都转换成这个

    2011-12-16T21:16:36Z,510 Total: 2139 Free: 1569

所以它符合指定的日期格式..!我错过了什么吗?我可以使用 map 参数来做到这一点还是需要转换我的输入文件?

4

1 回答 1

0

所有更新处理程序都对格式和日期非常严格,通常受影响最大。

因此,您不能直接在 CSV 中执行此操作。而且map不支持正则表达式 - 只是直接值。

但是,您可以使用更新请求处理器,它可以使用solrconfig.xml中的 update.chain 参数添加到任何请求处理器。您最好的选择是使用RegexReplaceProcessorFactory(需要 Solr 4)。它采用标准的 Java 正则表达式,包括组替换。

于 2013-01-28T15:10:03.683 回答