kibana和java elasticsearc的实战操作

这里我根据我们项目建立一个索引,和映射
PUT /tgdsm/
{
“settings”: {
“number_of_shards”: 3,
“number_of_replicas”: 1
},
“mappings”: {
“fileinfo”:{
“properties”:{
“File_ID”:{
“type”:“text”
},
“FileName”:{
“type”:“text”,
“analyzer”:“ik_max_word”
},
“User_ID”:{
“type”:“text”,
“analyzer”:“ik_max_word”
},
“LastChangerTime”:{
“type”:“date”
},
“FileSize”:{
“type”:“long”
},
“file-contents”:{
“type”:“text”,
“analyzer”:“ik_max_word”
}
}
}
}
}

用java做个测试类
//添加操作
@Test
public void esAddTest10() throws Exception {
//用本地文件获得一个流信息
FileInputStream input=new FileInputStream(new File(“D:\窗前明月光.docx”));
//用tika工具
String fileText = TikaUtil.getFileText(input);
//获得es长连接
TransportClient transportClient = ElasticsearchUtil.getClient();
//任意获得uuid
String randomUUID = UUID.randomUUID().toString();
//es添加操作
XContentBuilder doc=XContentFactory.jsonBuilder()
.startObject()
.field(“File_ID”, randomUUID)
.field(“FileName”,“大坝文明”)
.field(“FileSize”, 718)
.field(“User_ID”, “潘长江”)
.field(“LastChangeTime”, “2012-10-28”)
.field(“file-contents”,fileText)
.endObject();
IndexResponse response=transportClient.prepareIndex(“tgdsm”, “fileinfo”, randomUUID).setSource(doc)
.get();
//查看是否添加成功,诺是----CREATE就是添加成功
System.out.println("============="+response.status());
}
在这里插入图片描述

或者不用工具类获取client就是这个样
@Test
public void esAddTest9() throws Exception {
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));
//下面一样
String randomUUID = UUID.randomUUID().toString();
XContentBuilder doc=XContentFactory.jsonBuilder()
.startObject()
.field(“File_ID”, randomUUID)
.field(“FileName”,“辽宁大坝监管”)
.field(“FileSize”, 718)
.field(“User_ID”, “沈腾”)
.field(“LastChangeTime”, “2012-10-28”)
.field(“file-contents”,“这是我的小说。小说内容非常棒哦”)
.endObject();
IndexResponse response=client.prepareIndex(“tgdsm”, “fileinfo”, randomUUID).setSource(doc)
.get();
System.out.println("============="+response.status());
}

在这里插入图片描述

然后测试删除
@Test
public void esDel() throws UnknownHostException {
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));

	DeleteResponse response=client.prepareDelete("tgdsm", "fileinfo", "1722fa48-fc24-4a34-b352-5c7debe4d11d").get();
	//如果结果是ok则删除成功
    System.out.println("------------"+response.status());
}

这里删除成功

然后是修改
项目有几个不同逻辑 一个是修改文件 一个是修改文件名 一个是文件名和文件都修改
第一种 修改文件名
@Test
public void testUpdate() throws UnknownHostException{
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));
//需要更改的字段
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty(“FileName”, “辽宁利勘察”);
UpdateResponse updateResponse = client
.prepareUpdate(“tgdsm”, “fileinfo”, “da04ce44-5508-457f-abc8-8f3ed0721b18”)
.setDoc(jsonObject.toString(), XContentType.JSON).get();
}
在这里插入图片描述

第二种修改正文内容
@Test
public void testUpdate2() throws IOException, TikaException{
//用本地文件获得一个流信息
FileInputStream input=new FileInputStream(new File(“D:\窗前明月光.docx”));
//用tika工具
String fileText = TikaUtil.getFileText(input);
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));
//需要更改的字段
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty(“file-contents”, fileText);
UpdateResponse updateResponse = client
.prepareUpdate(“tgdsm”, “fileinfo”, “de1d2f4e-48de-43ad-b432-db92e5db6373”)
.setDoc(jsonObject.toString(), XContentType.JSON).get();
}
在这里插入图片描述
然后就是修改正文和文件名的情况
/**
* 修改正文内容和文件名
* @throws TikaException
* @throws IOException
*/
@Test
public void testUpdate3() throws IOException, TikaException{
//用本地文件获得一个流信息
FileInputStream input=new FileInputStream(new File(“D:\取文超.docx”));
//用tika工具
String fileText = TikaUtil.getFileText(input);
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));
//需要更改的字段
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty(“file-contents”, fileText);
jsonObject.addProperty(“FileName”, “景德镇利勘察”);
UpdateResponse updateResponse = client
.prepareUpdate(“tgdsm”, “fileinfo”, “de1d2f4e-48de-43ad-b432-db92e5db6373”)
.setDoc(jsonObject.toString(), XContentType.JSON).get();
}
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值