我正在尝试使用 Camel-solr 将 csv 文件插入 solr。我可以使用 post.jar 成功导入文件:
java -Durl=http://localhost:8983/solr/core0/update/csv -DfileTypes=csv -jar post.jar 0
(其中“0”是由 camel.split() 产生的文件名)
我试过设置各种标题:
.setHeader(SolrConstants.PARAM+"Content-Type", constant("text/csv"))
.setHeader(SolrConstants.PARAM+"RequestHandler", constant("/update/csv"))
.setHeader(SolrConstants.PARAM+"stream.contentType", constant("text/csv"))
.setHeader(SolrConstants.PARAM+"Content-type", constant("text/csv"))
.setHeader(SolrConstants.PARAM+"content-Type", constant("text/csv"))
.setHeader(SolrConstants.PARAM+"Content-Type", constant("text/csv"))
.setHeader("Content-Type", constant("text/csv"))
但基本上我可以导入文件的唯一方法是将 URL 设置为:
http://localhost:8983/solr/core0?requestHandler=/update/csv
如果 URL 上没有这个,Solr 似乎假定它是一个 XML 文件,因此无法解析它。“引起:com.ctc.wstx.exc.WstxUnexpectedCharException:序言中的意外字符'A'(代码65);预期'<'”
URL 将从属性文件中注入,因此我不想依赖包含 requestHandler 的文件中的 URL。
任何想法我需要设置哪些参数才能使其按预期工作?
/edit Solr 4.2.1 骆驼 2.11.1 Java 1.7
谢谢!