gpt4 book ai didi

java - 如何从 Java 应用程序连接到 Heroku 上的 Bonsai ElasticSearch

转载 作者:行者123 更新时间:2023-12-02 22:28:17 24 4
gpt4 key购买 nike

我有一个 Java 应用程序使用 ElasticSearch API 连接到 Heroku 上的 Bonsai。将我的应用程序部署到 Heroku 后,我发现无法通过 TransportClient 连接到传统的 ElasticSearch 地址 127.0.0.1:9300

因此,在阅读了一个答案 here 后,我将 TransportAddress 更改为下面的地址.

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new TransportAddress(InetAddress.getByName("http://juniper-325345373.eu-west-1.bonsaisearch.net/"), 80));

但是现在我得到一个 java.net.UnknownHostException: http://juniper-325345373.eu-west-1.bonsaisearch.net/: Name or service not known

我应该如何正确定义地址以连接到 Bonsai ElasticSearch?

最佳答案

我在盆景的网站上找到了非常有用的链接。 https://docs.bonsai.io/article/278-java

<强>1。从 URI 中提取您的帐户数据

例如https://a1b2c3d4e:5f6g7h8i9@somehost-1234567.region-x-y.bonsaisearch.net

String username = a1b2c3d4e;
String password = 5f6g7h8i9;

<强>2。提取主机地址

String host = somehost-1234567.region-x-y.bonsaisearch.net;
String port = 443;

更多信息可以在这里找到:https://docs.bonsai.io/article/94-connecting-to-bonsai

<强>3。实现凭据提供程序

  CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));

<强>4。实现 RestHighLevelClient 连接盆景

RestHighLevelClient restClient = new RestHighLevelClient(
RestClient.builder(new HttpHost(host,port,"https"))
.setHttpClientConfigCallback(httpAsyncClientBuilder ->
httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider)
.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy())));`

关于java - 如何从 Java 应用程序连接到 Heroku 上的 Bonsai ElasticSearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53806674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com