1

私は、Elastic4s マニュアルのこの例を使用してきました。ケース クラスでフィールドが指定されていないドキュメントを取得しようとするまでは、正常に動作しています。

nameマニュアルのこの例では、1 つの結果にのみフィールドがあり、フィールドが欠落していたとしましょうlocation。次のエラーが発生します。

java.util.NoSuchElementException: キーが見つかりません: 場所

さまざまなフィールドを持つ検索結果を処理するための適切なアプローチを探しています。

コードサンプル:

case class Character(name: String, location: String)

implicit object CharacterHitAs extends HitAs[Character] {
  override def as(hit: RichSearchHit): Character = {
Character(hit.sourceAsMap("name").toString, hit.sourceAsMap("location").toString) }}

val resp = client.execute {
search in "gameofthrones" / "characters" query "kings landing"
}.await

val characters :Seq[Character] = resp.as[Character]
4

1 に答える 1