我想使用solr处理程序解析csv文件。问题是我的文件可能包含有问题的行(这些行可以包含未转义的包络器)。当Solr找到一条这样的行时,失败并显示以下消息并停止
<str name="msg">CSVLoader: input=null, line=1941,can't read line: 1941
values={NO LINES AVAILABLE}</str><int name="code">400</int>
据我所知,在这种情况下,解析器无法修复有问题的行,这对我来说没问题。我只想跳过错误的行并继续文件的其余部分。
我尝试在处理器链中使用TolerantUpdateProcessorFactory,但结果是一样的。
我使用solr 6.5.1,我尝试的curl命令就是那样的
curl '<path>/update?update.chain=tolerant&maxErrors=10&commit=true&fieldnames=<my fields are provided>,&skipLines=1' --data-binary @my_file.csv -H 'Content-type:application/csv'
最后这就是我在solrconfig.xml中的内容
<updateRequestProcessorChain name="tolerant">
<processor class="solr.TolerantUpdateProcessorFactory">
<int name="maxErrors">10</int>
</processor>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
答案 0 :(得分:0)