0

次の内容のxmlファイル「cleanall.xml」を作成しました。

<?xml version="1.0" encoding="UTF-8"?>
<delete><query>*:*</query></delete>
<commit />

次に、次のコマンドを発行しました。

java -Durl=http://localhost:8080/solr/update -jar post.jar cleanall.xml

#400の不正なリクエストを返します。しかし、別のコマンドを発行した場合:

java -Ddata=args -Dcommit=yes -Durl=http://localhost:8080/solr/update -jar post.jar "<delete><query>*:*</query></delete>"

その後、正常に実行されます。post.jarxmlファイルの引数にdeleteコマンドを指定することはできませんか?

4

1 に答える 1

4

post.jarは、Solrインデックスへの変更を自動的にコミットします。これだけを使用してください-

<delete><query>*:*</query></delete>

したがって、xmlで明示的にする必要はありません。

400エラーは、xmlに複数のルートがあることが原因です。

Error 400 Illegal to have multiple roots (start tag in epilog?).
于 2012-04-05T06:40:06.933 に答える