我是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的端口号不同造成的。有什么想法吗?非常感谢。
您应该简单地通过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查询。 无法找到解决方案答案。请帮忙。