我正在使用 elastic4s 库来查询弹性搜索(ES)。elastic4s版本和ES本身2.4.0。
假设我有一个像 ES 这样的复合对象
case class MyObject(id: Long, vall: KeyVal, vals: Seq[KeyVal])
其中 KeyVal 是
case class KeyVal(id: Long, name: String)
现在我查询了 ES 并得到了我想反序列化回的响应MyObject
:
implicit object MyObjectHitAs extends HitAs[MyObject] {
override def as(hit: RichSearchHit): MyObject = {
MyObject(
hit.field("id").getValue[String]
KeyVal(hit.field("vall.id").getValue[Long], field("vall.name").getValue[String]),
//what should I code here to get the Seq[KeyVal] ???
)
}
}
请解释如何反序列化 KeyVal 的数组。谢谢你。