elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s" /> elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s" />

Scala 在elastic4s中未找到HttpClient?

Scala 在elastic4s中未找到HttpClient?,scala,elasticsearch,elastic4s,Scala,elasticsearch,Elastic4s,我在使用HttpClient时遇到以下错误。你能告诉我如何准确地使用HttpClient吗。我是新来的。 我想用ssl配置的elasticsearch连接scala。我还想知道如何通过链接传递SSL详细信息,如密钥库路径、信任库路径和用户名、密码 scala> import com.sksamuel.elastic4s.http.{HttpClient, HttpResponse} import com.sksamuel.elastic4s.http.{HttpClient, HttpRe

我在使用HttpClient时遇到以下错误。你能告诉我如何准确地使用HttpClient吗。我是新来的。 我想用ssl配置的elasticsearch连接scala。我还想知道如何通过链接传递SSL详细信息,如密钥库路径、信任库路径和用户名、密码

scala> import com.sksamuel.elastic4s.http.{HttpClient, HttpResponse}
import com.sksamuel.elastic4s.http.{HttpClient, HttpResponse}

scala> import com.sksamuel.elastic4s.http.ElasticDsl._
import com.sksamuel.elastic4s.http.ElasticDsl._

scala> val client = HttpClient(ElasticsearchClientUri(uri))
<console>:39: error: not found: value HttpClient
       val client = HttpClient(ElasticsearchClientUri(uri))
scala>import com.sksamuel.elastic4s.http.{HttpClient,HttpResponse}
导入com.sksamuel.elastic4s.http.{HttpClient,HttpResponse}
scala>导入com.sksamuel.elastic4s.http.ElasticDsl_
导入com.sksamuel.elastic4s.http.ElasticDsl_
scala>val client=HttpClient(ElasticsearchClientUri(uri))
:39:错误:未找到:值HttpClient
val client=HttpClient(ElasticsearchClientUri(uri))

HttpClient
似乎是代码库中的一个特征。您似乎将其用作对象。您可以检查实现。对于您的用例,我认为更好的方法是使用ElasticClient。代码应该是这样的

import com.sksamuel.elastic4s.http_
导入com.sksamuel.elastic4s.{ElasticClient,ElasticDsl,ElasticsearchClientUri}
val client=elastic4s.ElasticClient(ElasticsearchClientUri(uri))

我遇到了同样的问题,即在我的设置中,我在尝试使用
HttpClient
时出现了错误(未找到)(
elastic4s core
elastic4s http streams
elastic4s client esjava
scala 2.12.10上的7.3.1版)

解决方案:您应该能够找到并使用
JavaClient
,这是一种封装Elasticsearch Java Rest客户端的HttpClient

可以找到如何使用
JavaClient
的示例

因此,您的代码应该如下所示:

import com.sksamuel.elastic4s.http.JavaClient
import com.sksamuel.elastic4s.{ElasticClient, ElasticDsl, ElasticProperties}
...
val client = ElasticClient(JavaClient(ElasticProperties(uri)))

非常感谢您,我已经尝试过了,但是没有任何方法可以传递密钥库的证书路径和密码等属性。请您提供它,并且我认为您的评论“ElasticClient”中有一个输入错误是com.sksamuel.elastic4s.http的一部分,而不是com.sksamuel.elastic4s@Nakul-您必须使用elastic4s httpdependency@user1668782您可以共享传递信任库证书路径和密码的代码吗?嗨,您找到传递信任库路径和用户名的解决方案了吗?