0
У меня есть scala mutable Set, который я хочу индексировать в своем elasticsearch как массив, но способ, которым я делаю свою ошибку, кодElasticSearch: Текущий контекст не ARRAY, а OBJECT при попытке индексирования массива
var genreIdSet = scala.collection.mutable.Set[Int]()
genreIdSet+=1
genreIdSet+=2
genreIdSet+=3
val bulkRequest=client.prepareBulk()
bulkRequest.add(client.prepareIndex("testdb","test","123")
.setSource(myMethod)
)
val bulkResponse =bulkRequest.execute().actionGet()
def myMethod: XContentBuilder={
def json={jsonBuilder().startObject()}
json.field("uuid","123")
json.startArray("GenreIdSet")
for(n<-genreIdSet)
{
json.value(n)
}
json.endArray()
json.endObject()
}
, но он дает мне ошибку
-Current context not an ARRAY but OBJECT
org.elasticsearch.common.jackson.core.JsonGenerationException: Current context not an ARRAY but OBJECT
at org.elasticsearch.common.jackson.core.JsonGenerator._reportError(JsonGenerator.java:1487) ~[elasticsearch-1.5.0.jar:na]
at org.elasticsearch.common.jackson.core.json.UTF8JsonGenerator.writeEndArray(UTF8JsonGenerator.java:298) ~[elasticsearch-1.5.0.jar:na]
at org.elasticsearch.common.xcontent.json.JsonXContentGenerator.writeEndArray(JsonXContentGenerator.java:74) ~[elasticsearch-1.5.0.jar:na]
at org.elasticsearch.common.xcontent.XContentBuilder.endArray(XContentBuilder.java:233) ~[elasticsearch-1.5.0.jar:na]
at models.ArtistModels.ArtistModelsESReadWrite.ArtistImplStoreES.myMethod$1(ArtistImplStoreES.scala:41) ~[classes/:na]
at models.ArtistModels.ArtistModelsESReadWrite.ArtistImplStoreES.writeES(ArtistImplStoreES.scala:60) ~[classes/:na]
at models.ArtistModels.ArtistModelsESReadWrite.ArtistImplWriteToESActor$$anonfun$receive$1.applyOrElse(ArtistImplWriteToESActor.scala:21) ~[classes/:na]
, пожалуйста, помогите мне, где я делаю ошибку благодаря