JAVA与elasticsearch的交互
一 环境准备
二 如何创建集群节点的实例
三 常规 API 操作
四 一般性问题
一 环境准备
1 elasticsearch-2.4.0
2 https://search.maven.org/ *工厂地址
<dependency> <groupId>org.elasticsearch.distribution.rpm</groupId> <artifactId>elasticsearch</artifactId> <version>2.4.0</version> </dependency>
(此处集群版本和Jar版本应相同)
二 如何创建集群节点的实例
Map<String, String> map = new HashMap(); map.put("cluster.name", "xxx"); //设置集群名称 Settings.Builder settings = Settings.builder().put(map); Client client = TransportClient.builder().settings(settings).build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"),9300));
map.put("cluster.name", "xxx");这里的cluster.name需要在elasticsearch-2.4.0\config\elasticsearch.yml 中配置
自此实例创建完成
三 常规 API 操作(增 查)
1 java添加索引到集群中去
elasticSearch中使用索引方式存储数据。即key对应value,所以要将数据json化即可。方法网上有很多种,此处不再复制粘贴
IndexResponse response = client.prepareIndex("index", "info").setSource(jsonData.get(i)).get();
jsonData就是json化的数据四 一般性问题
1 NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{127.0.0.1}{127.0.0.1:9300}][2018-01-21 20:21:17,500][WARN ][transport.netty ] [Kristoff von Doom] exception caught on transport layer [[id: 0xa6cfd6c9, /127.0.0.1:55396 => /127.0.0.1:9300]], closing connection
java.io.IOException: 杩滅▼涓绘満寮鸿揩鍏抽棴浜嗕竴涓幇鏈夌殑杩炴帴銆?
配置 elasticsearch-2.4.0\config\elasticsearch.yml 中cluster.name即可
参考
http://blog.****.net/qq_36330643/article/details/78455296
https://*.com/questions/25912572/java-elasticsearch-none-of-the-configured-nodes-are-available