我需要验证文本提取是否适用于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中执行此操作?我想测试上传pdf和Word文档然后确认我可以使用Solr管理页面搜索文档中包含的单词。
答案 0 :(得分:18)
示例来自post.jar
(请参阅example\exampledocs
的文件夹apache-solr-X.X.X.zip
):
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
OR
Windows PowerShell 3.0有一个Invoke-WebRequest
命令,肯定可以使用它。请参阅this blog post。
答案 1 :(得分:3)
使用solr 5.0,您必须在更新文档时提及核心名称。因此,在exampledocs中发布所有示例的命令将是:
java -Dc =“core_name”-jar post.jar * .xml
此处将core_name替换为核心名称
答案 2 :(得分:2)
在Windows上使用Solr 6.1我能够使用solr-core-x.y.z.jar中的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
您需要将“C:\ Solr \ solr-6.1.0 \”替换为solr文件夹,为solr-core-6.1.0.jar指定正确的版本号,将文件夹设置为文件位置你想索引并确保核心已存在。
答案 3 :(得分:1)
可以有以下选项 -
答案 4 :(得分:1)
您可以尝试使用Firefox Poster Plugin ..我尝试了几次下载,但它们运行良好:)
答案 5 :(得分:1)
你可以试试这个:
C:\ Java \ Libs \ apache-solr-4.0.0-BETA \ example&gt;“C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe”“http:// localhost:8983 / solr / collection1 /更新提交=真安培; stream.contentType =文本/ CSV;字符集= utf-8的 &安培; stream.file = C:/Java/Libs/apache-solr-4.0.0-BETA/example/exampledocs/listado_talleres_new.csv“
答案 6 :(得分:1)
如果要使用cURL命令将文件发布到solr,则需要从cURL Home下载此实用程序。在路径environmental variable of the windows中提供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完美配合
答案 7 :(得分:0)
对于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\*.*
答案 8 :(得分:0)
要使用Powershell执行此操作,请运行以下命令:
$header = @{"Content-type"="text/plain"; "charset"="utf-8"};
Invoke-WebRequest -Uri http://localhost:8983/solr/YOUR_CORE_NAME/update/csv -Headers $header -InFile "C:\data.csv" -Method Post
答案 9 :(得分:0)
通过命令行首先导航到Solr的exampledocs文件夹并执行以下命令
D:\solr-7.5.0\example\exampledocs>java -Dc=onlycorename -Dtype=application/json -jar post.jar books.json
或者,从示例文件夹中执行以下命令
D:\Open Source Servers\solr-7.5.0\example>java -Dc=films -Dtype=application/xml -jar exampledocs/post.jar exampledocs/*.xml