写在前面:
最近有一个想法,做一个程序员师徒系统。因为在大学期间的我在学习java的时候非常地迷茫,找不到自己的方向,也没有一个社会上有经验的前辈去指导,所以走了很多的弯路。后来工作了,想把自己的避坑经验分享给别人,但是发现身边都是有经验的开发者,也没有机会去分享自己的想法,所以富贵同学就想做一个程序员专属的师徒系统,秉承着徒弟能够有人指教少走弯路,师傅能桃李满天下的目的,所以开始做这个师徒系统,也会同步更新该系统所用到的技术,并且作为教程分享给大家,希望大家能够关注一波。
时隔这么久,富贵同学又给大家带来无敌干货啦!!
首先我们来看一下csdn的搜索功能,根据搜索关键字,展示对应的内容,达到搜索的功能
那么这个是怎么做到的呢?我们可不可以在数据表中用sql写like语句?
答案是可以,但是效率不高,尤其是在数据量大的时候,会造成卡顿效果,这会让用户的体验感直线下降,所以这里不卖关子了,这里用到一项新的技术:
ElasticSearch。
说道这里,老规矩,先看一看这个是个什么牛鬼蛇神:
ElasticSearch首页有一句话:
your know,for search!
好家伙,口气这么大!!!
首先给大家介绍一下在springboot中怎么使用elasticsearch:
SpringBoot集成ElasticSearch 7.6.2
如果你先看完了这篇博客,你会有很大的收获
核心技术是在这里:
@Override
public boolean save(Blog entity) {
//保存到es中
try {
IndexResponse indexResponse = elasticSearchUtil.addEntity(entity, ElasticSearchConstant.TEXT_INDEX);
entity.setElsearchId(indexResponse.getId());
} catch (IOException e) {
e.printStackTrace();
}
return super.save(entity);
}
其实,很简单,我们在创建博客的时候将这个博客整个传入到ElasticSearch 中去,然后我们去搜索:
/**搜索*/
@ApiOperation("搜索")
@GetMapping("/search")
public ResponseUtils search(@RequestParam String searchMatch,@RequestParam String searchStr) throws IOException {
return ResponseUtils.success(elasticSearchUtil.search(searchMatch,searchStr));
}
这样,既有权重,又有搜索出来的内容
所以,师徒系统集成elasticsearch就可以实现极速搜索的功能啦!!!
说在之后
师徒系统我会一直更新,因为是开源的项目,所以我也希望有更多的小伙伴加入进来!!
这是程序员师徒管理系统的地址:
程序员师徒管理系统