1

solr を試しています...削除クエリを実行しようとすると、次のエラーが表示されます。

 curl http://localhost:8983/solr/update --data-binary '<delete><id>SP2514N</id></delete>'

エラーは次のとおりです。

Error 400 missing content stream  
Problem accessing /solr/update. Reason: missing content stream
4

2 に答える 2

4

他の答えは正しいようですが、理由は説明していません。使用しているコンテンツ タイプを に変更するだけで済みます。text/xmlそれ以外の場合、curl はオプション (または) を使用してデフォルトapplication/x-www-form-urlencodedを使用します。--data-binary-d

次のコマンドを使用する必要があります。

curl -H 'Content-Type: text/xml' http://localhost:8983/solr/update --data-binary '<delete><id>SP2514N</id></delete>'

パラメータを URLに追加して、commit=trueすぐにコミットを発行することをお勧めします。そうしないと、(次のコミットまで) 削除したいドキュメントが引き続き表示されます。

パラメータを使用して、他の回答で提案されているように、GET を介して URL 内で直接 xml を渡すこともできstream.bodyます。

于 2012-07-30T10:04:44.737 に答える
0

使用する : -

http://localhost:8983/solr/update?stream.body=<delete><query>id:SP2514N</query></delete>&commit=true
于 2012-07-30T06:52:35.927 に答える