配置连接ElasticSearch
@Configration
public class elasticSearch{
TransportClient client=null;
@Bean
public TransportClient client(){
Settings setting=Settings.bulider().put("cluster.name","pp").bulid();//设置集群的名字
client=new PreBuiltTransportClient(setting).addTransportAdress(new InetScoketTransportAdress(InetAdress.getByName("localhost"),9300));
}
return client;
}
对ElasticSearch进行查找操作
@Resource
TransportClient client;
@GetMapping("/get/index/note")
@RestController
public ResponesEntity search(@RequestParame(name="id",default
value="")String id){
GetResponse response=this.client.preparGet("index","note",id).get();
return new ResponseEntity(response.getSource(),Http.status.OK);
}
对ElasticSearch进行增加操作,并返回id
public ResponseEntity add(@RequestParam(name="title")String title,
@RequestParam(name="novel")String novel,
@RequestParam(name="publish_date")
@Dateformat(patten="yyyy-MM-dd HH:mm:ss")
Date publish_date,
@RequestParam(name="word_count")Integer word_count
){
XContentBulider content= XContentFactory.JsonBulider().startObject
.field("title",title)
.field("novel",novel)
.field("publish_date",publish_date.getDate())
.field("word_count",word_count).endObject();
IndexResponse response=this.client.preparIndex("index","novel").setSource(content).get();
return new ResponseEntity(response.getId(),Http.Status.OK);
}
对ElasticSearch进行删除操作
public ResponseEntity delete(@RequestParam(name="id")String id){
DeleteResponse result=
this.client.preparDelete("index","novel",id).get();
return new ResponseEntity(result.getResult().toString,Http.Status.Ok);
对ElasticSearch进行修改操作