Здравствуйте!
Использую Nest для связи с ElasticSearch (Nest взял из репозиториев NuGet). .NET Framework 4, x86. Пытаюсь добавить документ при помощи метода Bulk следующим образом:
namespace NestTestCSharp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var client = new ElasticsearchClient();
var p = new Phrase
{
Id = 1,
Name = "скачать1"
};
var descriptor = new BulkDescriptor();
descriptor.Index<Phrase>(op => op
.Document(p)
);
var index = client.Bulk("phrases", "phrase", descriptor);
}
}
class Phrase
{
public long Id { get; set; }
public string Name { get; set; }
}
}
Получаю пустой Request и ответ вида:
{StatusCode: 400,
Method: POST,
Url: http://localhost:9200/phrases/phrase/_bulk,
Request: {},
Response: <Response stream not captured or already read to completion by serializer>
ExceptionMessage: Validation Failed: 1: no requests added;
StackTrace: }
Подскажите, в чем может быть проблема? Код скопирован с
официального источника с минимальными изменениями. Крутил его по-всякому, но никак не получается добавить данные пакетно. Данные по одному через client.Index добавляются нормально.
P.S. Пробовал, в том числе, таким способом:
var request = new BulkRequest()
{
Refresh = true,
Consistency = Consistency.One,
Operations = new List<IBulkOperation>
{
{ new BulkIndexOperation<Phrase>(p) { Id= "1"} }
}
};
var response = client.Bulk(request);
Выдается ошибка:
Метод может быть вызван только для метода, для которого значение Type.IsGenericParameter является true.