J'utilise scala 2.11.11, elastic4s 5.4.5 et elastic4s-Circé 5.4.5ne peut pas générer indexable pour un type contenant une carte avec un type personnalisé clé
import com.sksamuel.elastic4s.ElasticDsl._
import com.sksamuel.elastic4s.TcpClient
import com.sksamuel.elastic4s.circe._
import io.circe.generic.auto._
object Test {
val client: TcpClient = ???
case class Something(a: Map[AnotherThing, Int])
case class AnotherThing(b: Int)
val smth = Something(Map.empty)
client.execute {
indexInto("index"/"type").doc(smth)
}
}
Ce ne serait pas compiler:
could not find implicit value for evidence parameter of type com.sksamuel.elastic4s.Indexable[net.lizeo.bd4m.storage.Test.Something]
indexInto("index"/"type").doc(smth)
Selon la documentation:
ajouter simplement l'importation pour votre bibliothèque choisie ci-dessous, puis avec les implicits de portée, vous pouvez maintenant passer un tapez vous aimez doc et un Indexable sera dérivé automatiquement.
Avec import io.circe.generic.auto._
et import com.sksamuel.elastic4s.circe._
pour elastic4s-Circé.
Qu'est-ce qui me manque?
Avez-vous essayé d'utiliser un placier JSON différent. Vous ne devriez pas avoir de tels problèmes avec Jackson par exemple. – monkjack