使用HttpClient时出现错误。您能让我知道如何确切地使用HttpClient吗?我是Elastic4s的新手。 我想将scala与ssl配置的elasticsearch连接起来。我还想知道如何通过链接(例如密钥库路径,信任库路径和用户名,密码)传递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))
答案 0 :(得分:0)
HttpClient
似乎是代码库中的一个特征。您似乎将其用作对象。您可以检查实施Here。对于您的用例,我认为更好的方法是使用ElasticClient。代码看起来像这样
import com.sksamuel.elastic4s.http._
import com.sksamuel.elastic4s.{ElasticClient, ElasticDsl, ElasticsearchClientUri}
val client = elastic4s.ElasticClient(ElasticsearchClientUri(uri))
答案 1 :(得分:0)
我遇到了同样的问题,即在尝试使用HttpClient
(elastic4s-core
,elastic4s-http-streams
和elastic4s-client-esjava
7.3版时,我遇到了错误(未找到)。在scala 2.12.10上为1)。
解决方案:您应该能够找到并使用JavaClient
,它是HttpClient的implementation,包装了Elasticsearch Java Rest Client。
here是一个使用JavaClient
的示例。
因此,您的代码应如下所示:
import com.sksamuel.elastic4s.http.JavaClient
import com.sksamuel.elastic4s.{ElasticClient, ElasticDsl, ElasticProperties}
...
val client = ElasticClient(JavaClient(ElasticProperties(uri)))