web-dev-qa-db-ja.com

WindowsでSolrにファイルをアップロードするにはどうすればよいですか?

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管理ページを使用して文書に含まれている単語を検索できることを確認したいと思います。

13
John81

例には、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コマンドがあります。 このブログ投稿 を参照してください。

Invoke-WebRequest

18
jeha

Solr 5.0では、ドキュメントを更新するときにコア名を指定する必要があります。したがって、exampledocsにすべての例を投稿するコマンドは次のようになります。

Java -Dc = "core_name" -jar post.jar * .xml

ここで、core_nameをコアの名前に置き換えます

3
Shalu

WindowsでSolr6.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の正しいバージョン番号を指定し、フォルダーを目的のファイルの場所に設定する必要があります。インデックスを作成し、コアがすでに存在することを確認します。

2
Dylan Hogg

ファイルをsolrに投稿するためにcURLコマンドを使用する場合は、このユーティリティを 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\."

上記はSolr4.0で完全に機能します

1
Div Tiwari

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 "

1
axlkike

次のオプションを持つことができます-

  • ローカルファイルシステム上のファイルを指すstream.file(リモートURLの場合はstream.url)パラメーターを使用してブラウザーからURLを起動します。 sample_url
  • Windows用のcgywin/curlをインストールします。これは、これらのURLを起動するのに役立ちます。
  • これらのドキュメントを投稿するには、短い Solrjを使用するプログラム (または他のSolrクライアント)を作成します。
1
Jayendra

コマンドラインから最初に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
0
raikumardipak

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\*.*
0
vvator

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
0
Sparrow_ua