导入Solr无法正常工作

时间:2018-02-15 07:04:08

标签: solr solrcloud

我正在尝试将cvs文件数据导入远程Solr。

我的命令是:

curl "http://mydomain.io/solr/#/qacheck/update?commit=true" --data-binary "d:\maincat.csv" -H "Content-type:application/csv"

我得到这样的输出:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 405 HTTP method POST is not supported by this URL</title>
</head>
<body><h2>HTTP ERROR 405</h2>
<p>Problem accessing /solr/index.html. Reason:
<pre>    HTTP method POST is not supported by this URL</pre></p>
</body>
</html>

在我尝试这样之后:

curl "http://proxy.sip.solr.qacheck1.test9.mcc.gb-lon1.metroscales.io/solr/qacheck/update?commit=true" --data-binary "d:\maincat.csv" -H "Content-type:application/csv"

现在我收到了这个回复。我验证了,没有导入数据。

<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">0</int><int name="QTime">3</int></
lst>
</response>

1 个答案:

答案 0 :(得分:0)

URL中的

#表示本地锚点。此值永远不会暴露给服务器,并且仅在浏览器内部用于链接到页面的特定部分 - 或者在许多现代Web应用程序中,以保持关于当前javascript上下文的某些本地状态。在上面的第一个网址中,您已经包含了该网址的浏览器部分,并且没有使用实际的网址来更新处理程序。

在您的第二次尝试中,您不会包含该文件,只包括逐字文本d:\maincat.csv。如果您希望curl读取文件并提交其内容(而不是提交逐字路径),you have to prefix the value with @。所以--data-binary "@d:\maincat.csv"应该做你想做的事。