1.head使用restful方式添加数据。
结果:
id:每一文档的唯一标识,添加时需设置,
version:版本号,修改该id里的数据是会递增。
java连接es插入数据:
1.创建student实体类
2.工具类对象转json字符串。
/***
* 将对象序列化为JSON文本
* @param o
* @return
*/
public static String toJson(Object o) {
ObjectMapper objectMapper = new ObjectMapper();
try {
return objectMapper.writeValueAsString(o);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return "";
}
3.接口:
/**
* 插入一条数据
* @param student 对象
* @param client 连接
* @param indexName 索引名称
* @param typeName type名称
*/
public void addOneStudent(Student student, TransportClient client, String indexName, String typeName);
4.实现接口:
@Override
public void addOneStudent(Student student, TransportClient client, String indexName, String typeName) {
//将对象转换为json
String sourse = JOSNUtil.toJson(student);
//设置index,type,id用uuid代替。
IndexResponse response = client.prepareIndex(indexName, indexName)
//必须为对象单独指定ID
.setId(student.getId())
.setSource(sourse)
.execute()
.actionGet();
//多次index这个版本号会变
ConEsUtil.closeConEs();
}
5.测试:
public static void main(String[] args) {
IndexService indexService = new IndexServiceImpl();
//创建索引,type,域
// indexService.createStudentIndex(ConEsUtil.creatConEs(),"school1");
//添加一条数据
Student student = new Student();
student.setName("夏文杰");
student.setAddreess("成都市");
student.setAge(25);
student.setPhone("13032894563");
student.setScore(11);
indexService.addOneStudent(student,ConEsUtil.creatConEs(),"school1","student");
}
6.查看数据:
java连接es修改数据:
若id和estype中有相同的id,就会修改数据,只是数据的版本号会递增1。