我创建了一个sbt项目来学习如何使用ElasticSearch和akka。我偶然发现了alpakka
,它提供了这个功能(连接到ElasticSearch)。根据文档,从ES搜索我们有以下代码:
val connectionSettings = ElasticsearchConnectionSettings("http://localhost:9200")
val sourceSettings = ElasticsearchSourceSettings(connectionSettings)
val elasticsearchParamsV7 = ElasticsearchParams.V7("index")
val copy = ElasticsearchSource
.typed[User](
elasticsearchParamsV7,
query = """{"match_all": {}}""",
sourceSettings
)
import spray.json.{DefaultJsonProtocol, RootJsonFormat}
case class User(first_name: String, last_name: String, email: String)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val userFormat: RootJsonFormat[User] = jsonFormat3(User)
}
我发现一个错误显示有关喷雾json阅读器说...
No implicits found for parameter sprayJsonReader: JsonReader[User]
我不知道我错过了什么。
我已经导入了两个库
"akka-http-spray-json"
"spray-json"
在build.sbt文件中
1条答案
按热度按时间1tu0hz3e1#
您的
userFormat
不在ElasticsearchSource.typed
的范围内,因此请将其导入,例如: