为什么我的弹性搜索未能在JAVA API中构建transportclient? [英] Why my elasticsearch failed to build transportclient in JAVA API?

查看:111
本文介绍了为什么我的弹性搜索未能在JAVA API中构建transportclient?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆