Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java传输客户端连接到Elasticsearch。Get请求不返回任何内容_Java_Spring Mvc_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,Spring Mvc,elasticsearch" /> elasticsearch,Java,Spring Mvc,elasticsearch" />

使用java传输客户端连接到Elasticsearch。Get请求不返回任何内容

使用java传输客户端连接到Elasticsearch。Get请求不返回任何内容,java,spring-mvc,elasticsearch,Java,Spring Mvc,elasticsearch,我是elasticsearch新手,但我正在尝试从elasticsearch文档中实现基本的java Get API。 我正在使用TransportClient连接到elasticsearch。据我所知,TransportClient使用端口9300。Elasticsearch位于端口9200上。当我使用指定的集群、索引、类型和id调用get请求时,只会返回一个空的字段列表。我已经用sense插件在elasticsearch中创建了索引,并通过head插件进行了验证。然而,当我试图通过java

我是elasticsearch新手,但我正在尝试从elasticsearch文档中实现基本的java Get API。

我正在使用TransportClient连接到elasticsearch。据我所知,TransportClient使用端口9300。Elasticsearch位于端口9200上。当我使用指定的集群、索引、类型和id调用get请求时,只会返回一个空的字段列表。我已经用sense插件在elasticsearch中创建了索引,并通过head插件进行了验证。然而,当我试图通过java实现检索这些值时,我什么也得不到。下面是我代码的一部分

public String transportClientToElasticSearch()
{
   Settings settings = ImmutableSettings.settingsBuilder()
           .put("client.transport.sniff", "true")
           .put("cluster.name", "elasticsearch").build();

    Client client = new TransportClient(settings)
            .addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
            //.addTransportAddress(new InetSocketTransportAddress("localhost", 9200));

    client.admin().indices().prepareRefresh("index").execute();

   GetResponse response = client.prepareGet("index", "type", "id")
           .execute()
           .actionGet();

   String elasticResponse = response.getFields().toString();
   return elasticResponse;
}

我最初的想法是,这是由于TransportClient和TransportES的端口号不同造成的。有什么想法吗?多谢各位

您只需通过检索字段,这将生成一个
Map

您的端口正常,9200是HTTP流量的默认端口,9300是TCP流量的默认端口(即通过TransportClient)。您能显示ES服务器上的相关日志吗?您好@Val,谢谢您的回复。查看logs文件夹,只有elasticsearch.log已更新,并且仅在启动elasticsearch.bat时更新。我似乎找不到任何与上述内容相关的日志语句或文件。您是否尝试检索
response.getSource()
,这应该会生成文档字段的映射?太棒了!成功了。response.getSource()返回指定Id的字段。这是我期望从response.getFields()返回的内容。