我正在寻找一个示例,其中我们可以将下面的示例JSON字符串推送到ElasticSearch,而无需使用REST api中的类。
{
"UserID":1,
"Username": "Test",
"EmailID": "[email protected]"
}
我们以XML形式获取输入,然后使用NewtonSoft.JSON dll将其转换为JSON字符串。
我知道REST API是强类型的。但是有没有办法在不使用REST API中的类的情况下将JSON字符串插入Elastic?
您可以使用低级客户端传递原始json。
var elasticsearchClient = new Elasticsearch.Net.ElasticsearchClient(settings);
var elasticsearchResponse = elasticsearchClient.Index("index", "type", "{\"UserID\":1,\"Username\": \"Test\",\"EmailID\": \"[email protected]\"}");
更新
根据文档,尝试以下一种方法:
var sb = new StringBuilder();
sb.AppendLine("{ \"index\": { \"_index\": \"indexname\", \"_type\": \"type\" }}");
sb.AppendLine("{ \"UserID\":1, \"Username\": \"Test\", \"EmailID\": \"[email protected]\" }");
sb.AppendLine("{ \"index\": { \"_index\": \"indexname\", \"_type\": \"type\" }}");
sb.AppendLine("{ \"UserID\":2, \"Username\": \"Test\", \"EmailID\": \"[email protected]\" }");
var response = elasticsearchClient.Bulk(sb.ToString());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句