我如何在Windows上将file upload到Solr?

我需要validation文本提取是否可以在Windows Server 2003上的Solr安装中使用。我发现上传文件到Solr的所有示例都使用如下所示的curl。

curl "http://localhost:8983/solr/update/extract?&extractOnly=true" --data-binary @tutorial.html -H 'Content-type:text/html' 

我怎样才能在Windows中做到这一点? 我想testing上传PDF和Word文档,然后确认我可以使用Solrpipe理页面search文档中包含的单词。

Solutions Collecting From Web of "我如何在Windows上将file upload到Solr?"

通过这个例子可以看到一个post.jar文件(参见apache-solr-XXXzip文件夹example\exampledocs ):

java -jar post.jar -h

 This is a simple command line tool for POSTing raw data to a Solr port. Data can be read from files specified as commandline args, as raw commandline arg strings, or via STDIN. Examples: java -jar post.jar *.xml java -Ddata=args -jar post.jar '<delete><id>42</id></delete>' java -Ddata=stdin -jar post.jar < hd.xml java -Durl=http://localhost:8983/solr/update/csv -Dtype=text/csv -jar post.jar *.csv java -Durl=http://localhost:8983/solr/update/json -Dtype=application/json -jar post.jar *.json java -Durl=http://localhost:8983/solr/update/extract?literal.id=a -Dtype=application/pdf -jar post.jar a.pdf Other options controlled by System Properties include the Solr URL to POST to, the Content-Type of the data, whether a commit or optimize should be executed, and whether the response should be written to STDOUT. These are the defaults for all System Properties: -Ddata=files -Dtype=application/xml -Durl=http://localhost:8983/solr/update -Dcommit=yes -Doptimize=no -Dout=no 

要么

Windows PowerShell 3.0有一个Invoke-WebRequest命令,肯定可以用于此。 看到这个博客文章 。

调用-的WebRequest

可以有以下选项 –

  • 使用指向本地文件系统上的文件的stream.file(远程URL的stream.url)参数从浏览器中启动URL,例如sample_url
  • 安装cgywin / curl的窗口,这将帮助你解雇这些网址。
  • 使用Solrj (或任何其他solr客户端)写一个简短的程序来发布这些文件。

你可以尝试使用Firefox海报插件..我试过几个下载,他们工作得很好:)

你可以试试这个:

C:\ Java \ Libs \ apache-solr-4.0.0-BETA \ example>“C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe”“http:// localhost:8983 / solr / collection1 / update ?commit = true&stream.contentType = text / csv; charset = utf-8&stream.file = C:/Java/Libs/apache-solr-4.0.0-BETA/example/exampledocs/listado_talleres_new.csv“

如果要使用cURL命令将文件发布到solr,则需要从cURL Home下载此实用程序。 在窗口的路径环境变量中提供cURL.exe的路径,然后您可以使用您查询的命令

 curl "http://localhost:8983/solr/update/extract?&extractOnly=true" --data-binary @"location of file/test.pdf" -H 'Content-type:application/pdf' 

即您需要更改内容类型。

将目录发布到Solr的另一种方法是使用Solr的examples目录中的“post.jar”实用程序 – 请记住,该实用程序不适用于生产用途。

这里是示例命令。

  java -Ddata=files -Dtype=html -Dfiletypes=htm,html -Dauto=yes -Drecursive=yes -jar post.jar "Drive_letter:\yourpath\." 

以上与Solr 4.0完美结合

使用solr 5.0时,必须在更新文档时提及核心名称。 因此,在exampledocs中发布所有示例的命令将是:

java -Dc =“core_name”-jar post.jar * .xml

这里用core的名字替换core_name

在Windows上使用Solr 6.1我能够使用solr-core-xyzjar中的SimplePostTool递归索引文件夹,如下所示:

 java -classpath C:\Solr\solr-6.1.0\dist\solr-core-6.1.0.jar -Dauto=yes -Dc=yourcorename -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool C:\Solr\solr-6.1.0\docs 

您将需要用您的solr文件夹替换“C:\ Solr \ solr-6.1.0 \”,为solr-core-6.1.0.jar指定正确的版本号,将文件夹设置为您想要的文件的位置索引并确保核心已经存在。

对于Windows,我使用这个命令:

 java -classpath %SOLR_HOME%\dist\solr-core-6.5.1.jar -Dauto=yes -Dc=books -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool c:\apache-solr-6.5.1\server\solr\books\data\index\*.*