我正在使用SOLR 6.6.2并尝试使用车辆数据的CSV文件更新核心。
每列数据都包含各种数据类型,如整数,字符串,日期和小数值。
问题在于十进制值。我必须将它们更新为零小数位,否则我会收到以下错误:
PS C:\ solr-6.6.2 \ example \ exampledocs> java -Dtype = text / csv -Dc =“vehicles”-jar post.jar vehicles.csv
使用内容类型text / csv ... POST文件vehicles.csv到[base] SimplePostTool:警告:Solr返回错误#400(错误请求) url:http://localhost:8983/solr/vehicles/update SimplePostTool: 警告:响应: 400124org.apache.solr.common.SolrExceptionjava.lang.NumberFormatExceptionERROR:[doc = d90354e7-3d73-4718-aeb5-80b0ce8fccf9]错误 添加字段'Price'='7950.01'msg =对于输入字符串: “7950.01”400 SimplePostTool:警告:读取响应时出现IOException: java.io.IOException:服务器返回HTTP响应代码:400为URL: http://localhost:8983/solr/vehicles/update索引了1个文件。提交 Solr索引更改为http://localhost:8983/solr/vehicles/update ... 花费的时间:0:00:01.363> SimplePostTool版本5.0.0将文件发布到[base] url http://localhost:8983/solr/vehicles/update
什么没有帮助的是我从使用SOLR版本4的SOLR复数视频中学习使用schema.xml来定义字段,但是看起来这在版本6中已被弃用,而且我在那里读到的应该是无需修改架构。
答案 0 :(得分:0)
仍然存在架构 - 您应该明确地创建/编辑它以匹配您的值。
当您在无模式模式下运行时,会在遇到字段的第一个值时进行猜测。对于您的数据集,这种猜测似乎是错误的 - 即,由于某种原因,第一个值不被视为十进制数。您可以在管理界面中的架构浏览器下查看Solr猜测的列类型。
最佳解决方案是创建一个显式模式 - 这样您就可以确保您的列与特定类型匹配。
您可以修改架构directly in the Admin interface,use the Schema API或modify the schema.xml file as in previous versions。