ES6.6.2 使用小结 - Java连接ES并查询数据

深藏阁楼爱情的钟 2022-02-28 03:28 901阅读 0赞

1.如果需要查看如何创建Maven项目,可以看这里:ES6.6.2 使用小结 - 创建Maven项目

2.先在ES(安装了head插件)创建一个Index吧,如果是单机部署ES,副本数记得写0,不然健康值会是黄色,假设这里索引名是”app_account”。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBU3RyaXZlcg_size_16_color_FFFFFF_t_70

3.承接上一篇文章,这里首先是在com.bas下创建demo包,以下是完整代码:

  1. package com.bas.demo;
  2. import java.net.InetAddress;
  3. import java.net.UnknownHostException;
  4. import org.elasticsearch.action.get.GetResponse;
  5. import org.elasticsearch.client.transport.TransportClient;
  6. import org.elasticsearch.common.settings.Settings;
  7. import org.elasticsearch.common.transport.TransportAddress;
  8. import org.elasticsearch.transport.client.PreBuiltTransportClient;
  9. /**
  10. * 官方参考文档
  11. * https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html
  12. * 连接ES测试类
  13. */
  14. public class ClientDemo {
  15. public static void main(String[] args) throws UnknownHostException {
  16. // 设置集群名称
  17. Settings settings = Settings.builder().put("cluster.name", "TestCluster").build();
  18. // 创建client
  19. TransportClient client = new PreBuiltTransportClient(settings)
  20. .addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
  21. // 搜索数据
  22. GetResponse response = client.prepareGet("app_account", "blog", "1").execute().actionGet();
  23. // 输出结果
  24. System.out.println(response.getSourceAsString());
  25. // 关闭client
  26. client.close();
  27. }
  28. }

3.连接查询没有结果,:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBU3RyaXZlcg_size_16_color_FFFFFF_t_70 1

注:

1.遇到:NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}…。ES安装的端口是9200,但是程序中连接的端口要写9300,因为TCP内部传输端口 9300。

问题解决参考:https://blog.csdn.net/adsl624153/article/details/78935796

发表评论

表情:
评论列表 (有 0 条评论,901人围观)

还没有评论,来说两句吧...

相关阅读