在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

Elasticsearch安装X-pack,使用Java API创建client怎么设置ES的用户名密码?

Elasticsearch | 作者 xinian | 发布于2018年02月09日 | 阅读数:8453

Elasticsearch安装X-pack后,使用Java API访问ES时,ES需要用户名密码,那么Java的代码怎么写?
已邀请:

zhangg7723

赞同来自: xinian

在client的setting里配置xpack.security.user

Settings settings = Settings.builder() 
                               .put("cluster.name", clusterName) 
                               .put("xpack.security.user", "elastic:changeme")
                               .put("client.transport.sniff", esClientSniff)
                               .put("client.transport.ping_timeout", esClientTimeout + "s").build();
 

xinian

赞同来自:

这种是可以,但是我现在的使用场景是在Spring中,ES client是通过Spring的配置注入的,如下:
<elasticsearch:transport-client id="client" cluster-nodes="${es.cluster.nodes.localhost}"/>
现在我还想通过Spring的配置ES的用户名密码,怎么配置呢?

zhu315555147 - java

赞同来自:

不要用<elasticsearch:transport-client/>,
用<bean class="org.springframework.data.elasticsearch.client.TransportClientFactoryBean">
<property name="properties" ......
</bean>
设置

要回复问题请先登录注册