Elasticsearch版本客户端与服务端版本不一致问题
来源:互联网 发布:mac好用的office软件 编辑:程序博客网 时间:2024/06/07 00:47
初学ES,总是遇到一些小问题。今天遇到的问题是,在java中pom.xml导入了
<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>2.3.3</version></dependency>
的jar包
在创建client连接时参考api写的代码如下:
Client client = TransportClient.builder().build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
运行时一直卡住,不报错也连接不成功。
经过排查,是因为我电脑上安装的Elasticsearch是1.7版本的。2.3版本和1.7版本里面的API不太一样,高版本的客户端不能调用低版本的服务端。后来我把pom.xml的引用改为:
<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>1.7.1</version></dependency>
就可以运行了。
下面是1.7版本的代码:
/** * */package com.odianyun.steel.test.es;import java.io.IOException;import java.net.InetAddress;import java.util.ArrayList;import java.util.List;import org.elasticsearch.action.index.IndexResponse;import org.elasticsearch.client.Client;import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.transport.InetSocketTransportAddress;import org.elasticsearch.common.xcontent.XContentBuilder;import org.elasticsearch.common.xcontent.XContentFactory;/** * @author diaoxingguo * */public class Test { public static void main(String[] args) { //创建客户端 try { Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300)); System.out.println("连接成功"); List<String> list = getData(); for(String str : list){ IndexResponse response = client.prepareIndex("blog","article").setSource(str).get(); if(response.isCreated()){ System.out.println("创建成功!"); } } client.close(); } catch (Exception e) { e.printStackTrace(); } } public static List<String> getData(){ List<String> list = new ArrayList<String>(); String blog1 = model2Json(new Blog(1,"第1个title","2016-10-14 10:31","第1个content")); String blog2 = model2Json(new Blog(2,"第2个title","2016-10-14 10:32","第2一个content")); String blog3 = model2Json(new Blog(3,"第3个title","2016-10-14 10:33","第3个content")); String blog4 = model2Json(new Blog(4,"第4个title","2016-10-14 10:34","第4个content")); String blog5 = model2Json(new Blog(5,"第5个title","2016-10-14 10:35","第5个content")); String blog6 = model2Json(new Blog(6,"第6个title","2016-10-14 10:36","6个content")); String blog7 = model2Json(new Blog(7,"第7个title","2016-10-14 10:37","第7个content")); String blog8 = model2Json(new Blog(8,"第8个title","2016-10-14 10:36","8个content")); list.add(blog1); list.add(blog2); list.add(blog3); list.add(blog4); list.add(blog5); list.add(blog6); list.add(blog7); list.add(blog8); return list; } public static String model2Json(Blog blog) { String jsonData = null; try { XContentBuilder jsonBuild = XContentFactory.jsonBuilder(); jsonBuild.startObject() .field("id", blog.getId()) .field("title", blog.getTitle()) .field("posttime", blog.getPostTime()) .field("content",blog.getContent()) .endObject(); jsonData = jsonBuild.string(); System.out.println(jsonData); } catch (IOException e) { e.printStackTrace(); } return jsonData; }}
0 0
- Elasticsearch版本客户端与服务端版本不一致问题
- java与javac版本不一致问题
- Java - java与javac版本不一致问题
- java与javac版本不一致问题
- java与javac版本不一致问题
- java与javac版本不一致问题
- ionic android 版本与本地sdk版本不一致的问题
- 服务端数据库和程序的版本不一致
- Oracle服务端和客户端版本补丁不一致造成Tuxedo应用程序出core案例
- oracle提示客户端与服务端编码不一致
- jdk版本:运行环境的JDK版本与编辑环境的JDK版本不一致的问题
- <版本控制>Windows下搭建VisualSVN服务端与客户端
- mac 上 pycurl与libcurl版本依赖不一致问题修改
- Android aidl项目中服务端与客户端aidl文件不一致引起的问题
- Android aidl项目中服务端与客户端aidl文件不一致引起的问题
- Maven新建工程的JDK版本与本地安装的JDK版本不一致问题
- zookeeper客户端api和服务器版本不一致导致的超时问题
- 客户端携带版本号码去访问服务端
- Activity如何取消界面切换的默认动画
- 搭建Hibernate4开发环境并整合Spring3
- linux字符设备驱动
- Hadoop多用户配置
- #363 – 日历控件基础(Calendar Control Basics)
- Elasticsearch版本客户端与服务端版本不一致问题
- MyEclipse内存溢出问题解决方法
- Unity移动端手势操作——移动3D物体
- Qt多线程:QtConcurrent配合lambda表达式(实例)
- FileOutPutStream(输出流)字节流
- 三大框架SSH成长路程(四)
- 2016年10月12日工作笔记:EZCLOUD初探
- Hadoop学习路线图
- oracle 11g 锁处理