使用密钥调用外部弹性搜索服务器

问题描述:

我试图调用由FacetFlow承载的外部弹性搜索服务器。要连接到这一点,我一直在考虑用密钥一个网址,当我尝试运行应用程序,我得到 未能实例[组织我在我的application.yml使用密钥调用外部弹性搜索服务器

data: 
     elasticsearch: 
      cluster-name: 
      cluster-nodes: mysupersecretkey:@name.west-eu.azr.facetflow.io:443 

此设置.elasticsearch.client.Client]:工厂方法'elasticsearchClient'抛出异常;嵌套异常是java.lang.IllegalStateException:java.lang.NumberFormatException:对于输入字符串:“@ name.west-eu.azr.facetflow.io:443”

似乎spring-boot将@之前的所有内容视为主机名以及@之后的所有内容作为端口号。

有没有更好的方法来设置它?

+0

你可以给出更多关于工厂方法'elasticseachClient'的详细信息吗?群集节点还映射到字符串或URL? – kaviddiss

这是由于Spring Data Elasticsearch类TransportClientFactoryBean解析服务器URL的方式。那里的代码并不关心URL的结构为protocol://user:[email protected]:port/uri的情况。因此,它最终将解析https作为主机名(它是协议)和API密钥作为端口号(它是用户)。

您可以通过Spring Data Elasticsearch project提出问题来支持Facetflow URL。