ElasticSearch REST - 插入 JSON 字符串而不使用 class
ElasticSearch REST - insert JSON string without using class
我正在寻找一个示例,我们可以在其中将下面的示例 JSON 字符串推送到 ElasticSearch,而无需在 REST api.
中使用 类
{
"UserID":1,
"Username": "Test",
"EmailID": "Test@TestElastic.com"
}
我们将输入作为 xml 并使用 NewtonSoft.JSON dll 将其转换为 JSON 字符串。
我知道 REST api 是强类型的。但是有没有办法在 REST api 中不使用 类 将 JSON 字符串插入 Elastic?
您可以使用 low level client 传递原始 json。
var elasticsearchClient = new Elasticsearch.Net.ElasticsearchClient(settings);
var elasticsearchResponse = elasticsearchClient.Index("index", "type", "{\"UserID\":1,\"Username\": \"Test\",\"EmailID\": \"Test@TestElastic.com\"}");
更新
基于documentation,试试这个:
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());
我正在寻找一个示例,我们可以在其中将下面的示例 JSON 字符串推送到 ElasticSearch,而无需在 REST api.
中使用 类{
"UserID":1,
"Username": "Test",
"EmailID": "Test@TestElastic.com"
}
我们将输入作为 xml 并使用 NewtonSoft.JSON dll 将其转换为 JSON 字符串。
我知道 REST api 是强类型的。但是有没有办法在 REST api 中不使用 类 将 JSON 字符串插入 Elastic?
您可以使用 low level client 传递原始 json。
var elasticsearchClient = new Elasticsearch.Net.ElasticsearchClient(settings);
var elasticsearchResponse = elasticsearchClient.Index("index", "type", "{\"UserID\":1,\"Username\": \"Test\",\"EmailID\": \"Test@TestElastic.com\"}");
更新
基于documentation,试试这个:
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());