2

REST API のクラスを使用せずに、以下のサンプル JSON 文字列を ElasticSearch にプッシュできる例を探しています。

{
   "UserID":1,
   "Username": "Test",
   "EmailID": "Test@TestElastic.com"
}

入力を xml として取得し、NewtonSoft.JSON dll を使用して JSON 文字列に変換します。

REST API が厳密に型指定されていることは知っています。しかし、REST api でクラスを使用せずに JSON 文字列を Elastic に挿入する方法はありますか?

4

1 に答える 1

2

低レベルのクライアントを使用して生の json を渡すことができます。

var elasticsearchClient = new Elasticsearch.Net.ElasticsearchClient(settings);
var elasticsearchResponse = elasticsearchClient.Index("index", "type", "{\"UserID\":1,\"Username\": \"Test\",\"EmailID\": \"Test@TestElastic.com\"}");

アップデート

ドキュメントに基づいて、これを試してください:

var sb = new StringBuilder();

sb.AppendLine("{ \"index\":  { \"_index\": \"indexname\", \"_type\": \"type\" }}");
sb.AppendLine("{ \"UserID\":1, \"Username\": \"Test\", \"EmailID\": \"Test@TestElastic.com\" }");

sb.AppendLine("{ \"index\":  { \"_index\": \"indexname\", \"_type\": \"type\" }}");
sb.AppendLine("{ \"UserID\":2, \"Username\": \"Test\", \"EmailID\": \"Test@TestElastic.com\" }");

var response = elasticsearchClient.Bulk(sb.ToString());
于 2015-06-15T20:25:12.517 に答える