gpt4 book ai didi

scala - 如何从ElasticSearch检索存储的Scala可变集合

转载 作者:行者123 更新时间:2023-12-03 00:21:49 25 4
gpt4 key购买 nike

嗨,我正在以这种方式在 flex 搜索中存储一个id字段和一个Scala可变集

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)

我想遍历此Set并将其值(例如:1 2 3)存储在新的Scala可变Set中,我该如何实现这一点,请帮助我,我还是ElasticSearch的新手,并且我正在从ElasticSearch java api获得帮助。请帮助谢谢

最佳答案

您可以使用Array方法在elasticsearch中插入一个scala可变Set

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)
)

检索此数组并将其值存储到新的可变Scala中,此处为代码
 id=get.getField("uuid").getValue.toString().toInt
var a=get.getField("GetGenreIdSet").getValues.toArray()
for(number<-a)
{
genreIdSet+=number.toString().toInt
}

关于scala - 如何从ElasticSearch检索存储的Scala可变集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30182809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com