ES使用org.elasticsearch.client.transport.NoNodeAvailableException: No node available 错误解决方法

 1) 端口错

client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));

这里9300 写成9200的话会No node available

要是你连的不是本机,注意IP有没有正确

2 )jar报引用版本不匹配,开启的服务是什么版本,引用的jar最好匹配(这个我没有去试,反正我的是匹配的)

3) 要是你改了集群名字,还有设置集群名字

Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "xxx").build(); 
client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));

 可参考:

http://stackoverflow.com/questions/25912572/java-elasticsearch-none-of-the-configured-nodes-are-available

关于ES的Mappings设置可以参考如下文档:

https://qbox.io/blog/set-analyzers-datatypes-default-mappings-elasticsearch

对date类型忽略检查 可以有1月32日的这种情况

http://stackoverflow.com/questions/25257119/mapping-exception-when-indexing-in-elasticsearch

原文地址:https://www.cnblogs.com/DreamDrive/p/6710158.html