Я могу создать следующую строку, сохраненную в объекте Java String с именем updates.Elasticsearch: массовое обновление нескольких документов, сохраненных в Java String?
{ "update":{ "_index":"myindex", "_type":"order", "_id":"1"} }
{ "doc":{"field1" : "aaa", "field2" : "value2" }}
{ "update":{ "_index":"myindex", "_type":"order", "_id":"2"} }
{ "doc":{"field1" : "bbb", "field2" : "value2" }}
{ "update":{ "_index":"myindex", "_type":"order", "_id":"3"} }
{ "doc":{"field1" : "ccc", "field2" : "value2" }}
Теперь я хочу сделать обновление bullk в рамках программы Java:
Client client = getClient(); //TransportClient
BulkRequestBuilder bulkRequest = client.prepareBulk();
//?? how to attach updates variable to bulkRequest?
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
Я не может найти способ, чтобы прикрепить вышеуказанные переменные обновления для bulkRequest перед тем выполнить.
Я заметил, что я могу добавить объект UpdateRequest к bulkRequest, но, кажется, он добавляет только один документ один раз. Как указано выше, у меня есть несколько обновляемых документов в одной строке.
Может кто-нибудь просветить меня на этом? У меня есть ощущение, что я могу сделать что-то неправильно.
Спасибо и приветствую.
вместо синтаксического анализа, создавая строку и пытаясь прикрепить эту строку в виде массива .. вы можете прикрепить к bulkRequest при самостоятельном анализе .. ?? я не думаю, что есть что-то, что вы ищете .. даже если есть .. он делает то же самое внутри ... не думаете? –
karthik. Спасибо за то, – curious1