2015-05-12 1 views
1

привета я stroing одно поля идентификатора и один Scala изменяемого набора в упругом поиске, как таким образомкак retrive сохраненной SCALA изменяемого Набора из ElasticSearch

var genreIdSet = scala.collection.mutable.Set[Int]() 
genreIdSet+=1 
genreIdSet+=2 
genreIdSet+=3 

bulkRequest.add(client.prepareIndex("testdb","test","123") 
     .setSource(jsonBuilder() 
        .startObject() 
         .field("uuid","123") 
         .field("GenreIdSet",genreIdSet) 
        .endObject()  
     ) 
) 

Теперь я хочу, чтобы получить этот документ здесь код

val get=client.prepareGet("testdb","test","123") 
     .setOperationThreaded(false) 
     .setFields("uuid","GenreIdSet") 
     .execute() 
     .actionGet() 

    id=get.getField("uuid").getValue.toString().toInt 
    var a=get.getField("GenreIdSet").getValue.toString 

и я получаю следующий результат

ID is 123 
GenreIdSet is Set(1, 2, 3) 

я хочу, чтобы пройти этот комплект и магазин его значение (например: 1 2 3) в новом scala mutable Set, как я могу достичь этого, пожалуйста, помогите мне, также я новичок в elasticSearch, и я принимаю помощь от ElasticSearch java api .Пожалуйста, помогите спасибо

ответ

1

вы можете вставить изменяемые Набор Scala в elasticsearch с использованием метода массив

var genreIdSet = scala.collection.mutable.Set[Int]() 
genreIdSet+=1 
genreIdSet+=2 
genreIdSet+=3 
var xb:XContentBuilder=XContentFactory.jsonBuilder().startObject().field("uuid",artistImpl.getUuid) 
     xb.startArray("GetGenreIdSet") 
     for(n<-genreIdSet) 
     { 
      xb.value(n) 
     } 
     xb.endArray() 
     xb.endObject() 


val bulkRequest=client.prepareBulk() 
bulkRequest.add(client.prepareIndex("testdb","test","123") 
     .setSource(xb) 
) 

Получить этот массив и хранить свои ценности в новую лестницу изменяемым Установленное здесь код

id=get.getField("uuid").getValue.toString().toInt 
     var a=get.getField("GetGenreIdSet").getValues.toArray() 
      for(number<-a) 
      { 
       genreIdSet+=number.toString().toInt 
      } 
Смежные вопросы