Elasticsearchを使用しているScala APIを構築しています。Elastic4sを使用しています。私はElastic4sから受信ある構造を持つスカラケースクラスを異なる構造の別のスカラケースクラスにマップする
1つの応答タイプSearchHitであり、以下の構造を有する:Iは、構造の別のオブジェクトにこのオブジェクトをマップする必要
SearchHit(id: String,
index: String,
`type`: String,
score: Float,
private val _source: Map(name: String,
code: String,
location: Map(lat: Double, lon:Double)
)
)
:
GeoLocation
は
case class Location(id: Option[String] = None, location: GeoLocation, code: String, name: String)
:
case class GeoLocation(lat: Double, lon: Double)
あなたは、FIEのほとんどを見ることができるように私はLocation
にマップされる必要があります_source
の地図の中にありますが、私はまたid
がマップされる必要があります。
'Map(lat:Double、lon:Double)とは何ですか?経度の値を調べるには、緯度をキーとして使用しますか?それは正しいとは言えません。 – jwvh
https://github.com/scalalandio/chimneyを試してみてください – mfirry
@jwvh 'location'は' Map [String、Double] 'ですが、私は応答で' Map(lat →43.65、lon→79.39)。私はそれをシンプルさのために書きました。混乱させて申し訳ありません! – Tanvir