当前位置: 首页 > 知识库问答 >
问题:

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

慕凌
2023-03-14

我是elasticsearch新手,但我正在尝试从elasticsearch文档中实现基本的java Get API。https://www.elastic.co/guide/en/elasticsearch/client/java-api/1.x/get.html

我正在使用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的端口号不同造成的。有什么想法吗?非常感谢。

共有1个答案

慕永年
2023-03-14

您应该简单地通过response.getSource()检索字段,这将产生一个Map

 类似资料:
  • 我正在尝试重建一个与elasticsearch 2.4对话的插件,以便与elasticsearch 5配合使用。 代码来自:https://github.com/pentaho/pentaho-kettle/blob/master/plugins/elasticsearch-bulk-insert/src/org/pentaho/di/trans/steps/elasticsearchbulk/E

  • 我使用Jersey客户端从Java代码进行REST调用: 在我的GET请求中, 调用后,客户端将自动关闭。 如果我用, 我得到了同样的结果。 在这种情况下,连接是自动关闭还是需要手动关闭?

  • 从Java使用弹性搜索的最佳实践是什么?例如,可以使用REST API轻松找到留档和逐个查询删除功能的示例。传输客户端Java情况并非如此。 在哪里可以找到Java Transport Client的使用示例 Java Transport Client是否通过REST API覆盖了整个ElasticSearch功能,比如HTTP客户端

  • 当我试图用WebClient发送GET请求时,我响应错误io.netty.channel.AbstractChannel$annotatedConnectException:Connection Delection:localhost/ *WebClient初始化*

  • 我正在处理一个 Post 请求,在此请求中检索用户令牌 ID,我使用 OAuth2Client 库进一步验证令牌。验证后,我想发出 Get 请求以获取用户信息。我不确定我链接请求的方式。 代码就像: 在客户端,浏览器表示post请求失败,因为它花费了太多时间返回: POSThttp://mywebapp.com/oauth/google/redirect504(网关超时)

  • 我正在为Angular练习&。 我在从客户端创建查询时遇到了问题。 我已经成功地在后端创建了graphql查询。 无法找到解决方案答案。请帮忙。