C#/Winforms/.NET4.0 アプリから HTTP/POST 経由で JSON を使用して Solr に書き込み、インデックス作成を高速化し、以下のコードを使用しています。(これらの指示に基づいて)solrにドキュメントを書きますが、「400 bad request」を取得し続けます。JSON はクリーンで問題はないようです。
構文の問題のようですが、私はこれに何時間も取り組んできましたが、役に立ちませんでした。何が間違っているかについてのアイデアはありますか?すべての助けに感謝します。
投稿されているURI文字列は次のとおりです
"http://localhost:8080/solr/update/json -H 'Content-type:application/json' -d ' [ {\"UUID\":\"d2a174e4-81d6-487f-b68d-392be5d3d47a\",\"Extension\":\".AVI\",\"VideoFileName\":\"Clip 1.avi\"} ' ]"
string uri = http://localhost:8080/solr/update/json;
public bool WriteJSONToSolr(string uri, string json)
{
WebRequest request = WebRequest.Create(uri + " -H 'Content-type:application/json' -d ' [ " + json + " ' ]" );
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(json);
Stream stream = null;
try
{ // send the Post
request.ContentLength = bytes.Length; //Count bytes to send
stream = request.GetRequestStream();
stream.Write(bytes, 0, bytes.Length); //Send it
}
catch
{
return false;
}
finally
{
if (stream != null)
{
stream.Close();
}
}
System.Net.WebResponse response = request.GetResponse();
if (response == null) return false;
return true;
}