У меня есть документ в ElasticSearchкак вставить массив объектов в elasticsearch
{
"uuid" : 0,
"StatusHistoryList" : [
{
"ArtWorkDate" : "2015-08-25T16:29:32.011+05:00",
"ArtworkStatus" : "ACTIVE"
}
]
}
Я добавляю это с помощью кода, но возникли проблемы при добавлении этого поля массива StatusHistoryList
я это делаю, как этот
var xb:XContentBuilder=XContentFactory.jsonBuilder().startObject()
.field("uuid",artWork.getUuid)
xb.startArray("StatusHistoryList")
for(h<-history)
{
var date=h.date.toString()
var artworkStatus=h.artworkStatus.toString
xb.startObject()
xb.field("ArtWorkDate",date)
xb.field("ArtworkStatus",artworkStatus)
xb.endObject()
}
xb.endArray()
xb.endObject()
val bulkRequest=client.prepareBulk()
bulkRequest.add(client.prepareIndex("arteciatedb","artWork",artWork.uuid.toString())
.setSource(xb)
)
val bulkResponse =bulkRequest.execute().actionGet()
if(bulkResponse.hasFailures())
{
log.error("something is wrong here ")
}}
на консоли она печати something is wrong here
, пожалуйста, помогите мне, где я делаю неправильно
UPDATE после получения ответа от Nimo здесь выход печатается на консоли
controller ERROR - failed to executefailure in bulk execution:
[0]: index [arteciatedb], type [artWork], id [0], message [MapperParsingException[failed to parse [StatusHistoryList]]; nested: ElasticsearchIllegalArgumentException[unknown property [ArtWorkDate]]; ]
Получаете ли вы более точное сообщение об ошибке из 'bulkResponse'? –