使用密钥调用外部elasticsearch服务器

时间:2015-07-19 14:19:18

标签: elasticsearch spring-boot jhipster

我正在尝试调用由FacetFlow托管的外部弹性搜索服务器。要连接到这个,我已经获得了一个带有密钥的URL,我已经在我的application.yml中设置了它。

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

当我尝试运行应用程序时,我得到了 无法实例化[org.elasticsearch.client.Client]:工厂方法'elasticsearchClient'引发异常;嵌套异常是java.lang.IllegalStateException:java.lang.NumberFormatException:对于输入字符串:“@ name.west-eu.azr.facetflow.io:443”

似乎spring-boot在@作为主机名之前看到所有内容,在@之后看到所有内容作为端口号。

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

1 个答案:

答案 0 :(得分:1)

这是由于Spring Data Elasticsearch类TransportClientFactoryBean解析服务器URL的方式。其中的代码不处理URL结构为protocol://user:password@server:port/uri的情况。因此,它最终将https解析为主机名(即协议),将API密钥解析为端口号(即用户)。

您可以向Spring Data Elasticsearch project提交问题以支持Facetflow网址。

相关问题