Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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:Curl更新所有文件_Solr_Solr5 - Fatal编程技术网

SOLR:Curl更新所有文件

SOLR:Curl更新所有文件,solr,solr5,Solr,Solr5,是否仍然可以使用curl命令用目录下的所有文件更新solr?例如,如更新所有XML文件: curl”http://localhost:8983/solr/xml/update?commit=true&tr=add.xsl“-H”内容类型:text/xml”--数据二进制@*.xml 通过使用post.jar,我可以运行这些更新,但是在使用CURL时我看不到相同的函数 提前感谢。我认为CURL不支持通过--数据二进制文件来发布通配符帖子。它在其-T参数中确实支持一些globbing,但这会发出一个

是否仍然可以使用curl命令用目录下的所有文件更新solr?例如,如更新所有XML文件:

curl”http://localhost:8983/solr/xml/update?commit=true&tr=add.xsl“-H”内容类型:text/xml”--数据二进制@*.xml

通过使用post.jar,我可以运行这些更新,但是在使用CURL时我看不到相同的函数


提前感谢。

我认为CURL不支持通过
--数据二进制文件
来发布通配符帖子。它在其
-T
参数中确实支持一些globbing,但这会发出一个PUT(因为它使用baseurl+文件名)。您还必须自己扩展列表,因为我无法让
*
作为全局模式工作

最简单的方法可能是将其包装在for循环中,这取决于您如何运行curl(以及您使用的操作系统或shell)


感谢@matslindh的回复。我是通过一个循环进行的,但我想检查一下,因为使用post.jar的post方法能够执行通配符方法。@J-S据我所知,post.jar会迭代它从shell接收到的每个文件。
#!/usr/bin/env bash
for FILE in *.xml
do
    curl "http://localhost:8983/solr/xml/update?commit=true&tr=add.xsl" -H "Content-Type: text/xml" --data-binary @$FILE
done