为什么我的弹性搜索未能在JAVA API中构建transportclient? [英] Why my elasticsearch failed to build transportclient in JAVA API?
问题描述
public class TryElastic {
public static void main(String [] args)throws UnknownHostException {
Map< String,Object> json = new HashMap< String,Object>();
json.put(user,kimchy);
json.put(postDate,new Date());
json.put(message,试用弹性搜索);
尝试{
设置设置= Settings.settingsBuilder()
.put(cluster.name,elasticsearch)
.put(client.transport .sniff,true).build();
TransportClient client = TransportClient.builder()。settings(settings).build();
//client.addTransportAddress(netInetSocketTransportAddress(InetAddress.getByName(localhost),9300));
} catch(NoNodeAvailableException e){
System.out.println(e.toString());
}
System.out.println(test);
}
}
这很简单,但是在以下行中出现错误:
TransportClient client = TransportClient.builder()。settings(settings) 。建立();
它显示如下错误消息:
线程中的异常mainjava.lang.NullPointerException
在java.io.Reader。< init>(Reader.java:78)
在java。 io.InputStreamReader。< init>(InputStreamReader.java:113)
在org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198)
在org.elasticsearch.node.internal .InternalSet .build(TransportClient.java:119)
在TryElastic.main(TryElastic.java:64)
那么,你能给我建议吗,我正在寻找解决方案,我找不到。是否有任何必须实施的配置?我的弹性搜索服务器运行正常,它可以执行索引并从命令提示符获取查询。谢谢...
此代码适用于我。这是版本问题。 TransportClient的默认端口为9300,代码不使用Elasticsearch 2.0编译
使用此:
设置设置= Settings.settingsBuilder()
.put(cluster.name,clusterName).build();
客户端客户端= TransportClient.builder()。settings(settings).build()
.addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress(127.0.0.1,9300)));
参考:这里是链接
I have an simple code of elasticsearch in Java like this :
public class TryElastic {
public static void main(String[] args) throws UnknownHostException {
Map<String, Object> json = new HashMap<String, Object>();
json.put("user","kimchy");
json.put("postDate",new Date());
json.put("message","trying out Elasticsearch");
try {
Settings settings = Settings.settingsBuilder()
.put("cluster.name", "elasticsearch")
.put("client.transport.sniff", true).build();
TransportClient client = TransportClient.builder().settings(settings).build();
//client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
} catch (NoNodeAvailableException e) {
System.out.println(e.toString());
}
System.out.println("test");
}
}
It's very simple but I got an error in the following line :
TransportClient client = TransportClient.builder().settings(settings).build();
It display error message like this :
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
at org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198)
at org.elasticsearch.node.internal.InternalSettingsPreparer.finalizeSettings(InternalSettingsPreparer.java:177)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:64)
at org.elasticsearch.client.transport.TransportClient$Builder.build(TransportClient.java:119)
at TryElastic.main(TryElastic.java:64)
So, can you give me suggestion, I've looking for the solution, and I can't find that. Is there any configuration that I've to implement? My elasticsearch server have ran correctly, It can perform index and get queries from command prompt. Thanks...
This code works for me. This is the version issue. Default port of TransportClient is 9300 and the code does not compile with Elasticsearch 2.0
Use this:
Settings settings = Settings.settingsBuilder() .put("cluster.name", clusterName).build();
Client client = TransportClient.builder().settings(settings).build() .addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress("127.0.0.1", 9300)));
Refer: Here's the link
这篇关于为什么我的弹性搜索未能在JAVA API中构建transportclient?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!