2015-06-15 4 views
2

Я ищу пример, где мы можем нажать под образцом строки JSON в ElasticSearch, не используя классы в REST api.ElasticSearch REST - вставить строку JSON без использования класса

{ 
    "UserID":1, 
    "Username": "Test", 
    "EmailID": "[email protected]" 
} 

Мы получаем входные данные как XML, и мы преобразовать его в JSON строку с помощью библиотеки DLL NewtonSoft.JSON.

Я знаю, что REST api строго типизирован. Но есть ли способ вставить строку JSON в Elastic без использования классов в REST api?

ответ

2

Вы можете использовать low level client для передачи сырого json.

var elasticsearchClient = new Elasticsearch.Net.ElasticsearchClient(settings); 
var elasticsearchResponse = elasticsearchClient.Index("index", "type", "{\"UserID\":1,\"Username\": \"Test\",\"EmailID\": \"[email protected]\"}"); 

UPDATE

на основе documentation, попробуйте это один:

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()); 
+0

Существует масса метод вставки для этого? Благодарю. –

+0

@SameerDeshmukh да, проверьте мое обновление. – Rob

+0

Спасибо, Роб. Это сработало! –