Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Solr admin中上载CSV文件时出现问题_Csv_Search_Solr - Fatal编程技术网

在Solr admin中上载CSV文件时出现问题

在Solr admin中上载CSV文件时出现问题,csv,search,solr,Csv,Search,Solr,我有一个具有搜索功能的应用程序,我正在使用Solr进行搜索。我正在尝试将数据上传为CSV文件。但数据没有正确上传到Solr core 这是我正在使用的curl命令 curl 'http://localhost:8983/solr/test_import/update/csv?commit=true&separator=%09&escape=%5c&encapsulator=%22' --data-binary @/tmp/college_data_201808091649

我有一个具有搜索功能的应用程序,我正在使用Solr进行搜索。我正在尝试将数据上传为CSV文件。但数据没有正确上传到Solr core

这是我正在使用的curl命令

curl 'http://localhost:8983/solr/test_import/update/csv?commit=true&separator=%09&escape=%5c&encapsulator=%22' --data-binary @/tmp/college_data_20180809164959.csv -H 'Content-type:application/csv'
这给了我一个错误

java.io.IOException:(第0行)封装的令牌结束分隔符之间的字符无效\n\t org.apache.solr.internal.csv.CSVParser.enclosedTokenlexer

如果删除封装器=%22它将上载,但格式不好

这是他的上传方式:

{
        "id":"8adb5378-aa58-427d-8ff4-fca4f31c96e6",
        "ID_College_Name_State_City_Address":["43387,,,,"],
        "_version_":1608318488833687552,
        "ID_College_Name_State_City_Address_str":["43387,,,,"]},
      {
        "id":"e29a0435-95c5-4d3c-bddf-eacef22f6859",
        "ID_College_Name_State_City_Address":["43388,apsce,,,"],
        "_version_":1608318488835784704,
        "ID_College_Name_State_City_Address_str":["43388,apsce,,,"]}
这是我的csv文件结构

"ID","College_Name","State","City","Address"
"43387","","","",""
"43388","apsce","","",""

请帮我解决这个问题。如果您需要有关此问题的任何进一步信息,请告诉我。

您的CSV文件应使用CSV解析的默认值进行完美解析。删除您提供的所有参数

错误消息是因为您将
分隔符
参数指定为
%09
,这是制表符。您的值不是由制表符分隔的,而是由标准的
分隔的

separator=%09 # separated by TAB (wrong)
escape=%5c # escaped by \ (default)
encapsulator=%22 # encapsulated by " (default)

由于解析器正在查找由
分隔的值,因此在分隔符之间有多个
表示解析错误(自
之后发生,
未作为分隔符提供)。

您的CSV文件应使用CSV解析的默认值进行完美解析。删除您提供的所有参数

错误消息是因为您将
分隔符
参数指定为
%09
,它是制表符。您的值不是由制表符分隔的,而是由标准的
分隔的

separator=%09 # separated by TAB (wrong)
escape=%5c # escaped by \ (default)
encapsulator=%22 # encapsulated by " (default)

由于解析器正在查找由
分隔的值,因此在分隔符之间有多个
表示解析错误(发生于
之后,
不作为分隔符提供)。

谢谢。。我没有检查,它起作用了。。但是字段名在实际字段名之前和之后都像下划线一样。。和ID一样,我从csv中删除了双引号。现在工作正常。但这不是实际的解决方案-正确的解决方案是按文件的格式解析文件。在这种情况下,我该怎么做?这就是我的答案所描述的。您可以使用默认值,因为它们应该可以正常工作(而不是将TAB设置为分隔符),或者显式地将
设置为分隔符。谢谢。。我没有检查,它起作用了。。但是字段名在实际字段名之前和之后都像下划线一样。。和ID一样,我从csv中删除了双引号。现在工作正常。但这不是实际的解决方案-正确的解决方案是按文件的格式解析文件。在这种情况下,我该怎么做?这就是我的答案所描述的。您可以使用默认值,因为它们应该可以正常工作(而不是将TAB设置为分隔符),或者显式地将
设置为分隔符。