范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SpringBootES基本项目搭建实例

  【搜索系列】ES基本项目搭建
  之前一直没有写ES相关的博文,现在开始补课,预计5-6篇博文将es的使用姿势展示给各位小伙伴;本文将作为es结合springboot的第一篇博文,基本项目环境搭建  I. 项目搭建1. 项目依赖
  本项目借助 SpringBoot 2.2.1.RELEASE  + maven 3.5.3  + IDEA 进行开发
  开一个web服务用于测试                org.elasticsearch.client         elasticsearch-rest-high-level-client      2. 配置信息
  配置文件application.yml,注意下面的配置信息,下面采用的是由我们自己来解析配置的方式  elasticsearch:   host: localhost   port: 9200   user: elastic   pwd: test123   connTimeout: 3000   socketTimeout: 5000   connectionRequestTimeout: 500
  说明
  上面配置介绍的是一种偏基础的es文档操作姿势,相比较于封装得更好的 spring-boot-starter-data-elasticsearch ,使用更加灵活 II. SpringBoot结合ES使用1. RestHighLevelClient 初始化
  接下来我们基于 RestHighLevelClient 来操作es,首先第一步就是需要初始化这实例 @Getter @Configuration public class ElasticsearchConfiguration {       @Value("${elasticsearch.host}")     private String host;       @Value("${elasticsearch.port}")     private int port;       @Value("${elasticsearch.connTimeout}")     private int connTimeout;       @Value("${elasticsearch.socketTimeout}")     private int socketTimeout;       @Value("${elasticsearch.connectionRequestTimeout}")     private int connectionRequestTimeout;       @Value("${elasticsearch.user}")     private String user;       @Value("${elasticsearch.pwd}")     private String pwd;       @Bean(destroyMethod = "close", name = "client")     public RestHighLevelClient initRestClient() {         RestClientBuilder builder = RestClient.builder(new HttpHost(host, port))                 .setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder                         .setConnectTimeout(connTimeout)                         .setSocketTimeout(socketTimeout)                         .setConnectionRequestTimeout(connectionRequestTimeout));         return new RestHighLevelClient(builder);     } }
  注意上面的实现,用户名 + 密码并没有使用,当es设置了用户名、密码之后,是通过每次请求时,在请求头基于Basic Auth方式进行身份验证的;后面会介绍到  2. 基本使用
  我们在本机搭建了一个es用于模拟测试,在上面的配置完之后,就可以直接与es进行交互了  es安装可以参考:
  •200605-Centos 安装ElasticSearch - 一灰灰Blog[1]
  •210329-Elastic & Kibana安装与基本使用 - 一灰灰Blog[2]
  docker安装: docker pull docker.elastic.co/elasticsearch/elasticsearch:xxx
  下面是一个简单的使用姿势  @Service public class EsTest {     @Autowired     private RestHighLevelClient client;       private static String auth;       public EsTest(ElasticsearchConfiguration elasticsearchConfiguration) {         auth = Base64Utils.encodeToString((elasticsearchConfiguration.getUser() + ":" + elasticsearchConfiguration.getPwd()).getBytes());         auth = "Basic " + auth;     }       public void testGet() throws Exception {         // 文档查询         GetRequest getRequest = new GetRequest("first-index", "_doc", "gvarh3gBF9fSFsHNuO49");         RequestOptions.Builder requestOptions = RequestOptions.DEFAULT.toBuilder();         requestOptions.addHeader("Authorization", auth);         GetResponse getResponse = client.get(getRequest, requestOptions.build());         if (getResponse.isExists()) {             String sourceAsString = getResponse.getSourceAsString();             System.out.println(sourceAsString);         } else {             System.out.println("no string!");         }     } }
  注意上面的实现,有下面几个重要知识点
  身份验证
  采用Basic Auth方式进行身份校验,简单来说就是在请求头中添加一个
  • key = Authorization
  • value = "Basic " + base64(user + ":" + pwd)
  访问姿势
  上面是一个根据 id 查询文档的实例,简单可以理解为三步
  •创建: XxRequest
  •添加请求头: RequestOptions.Builder.addHeader
  •执行:  client.get(xxRequest, RequestOptions) III. 不能错过的源码和相关知识点0. 项目
  •工程:https://github.com/liuyueyi/spring-boot-demo
  •源码:https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/142-search-es 1. 微信公众号: 一灰灰Blog
  尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
  下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
  •一灰灰Blog个人博客 https://blog.hhui.top
  •一灰灰Blog-Spring专题博客 http://spring.hhui.top References
  [1] 200605-Centos 安装ElasticSearch - 一灰灰Blog:  https://blog.hhui.top/hexblog/2020/06/05/200605-Centos-%E5%AE%89%E8%A3%85ElasticSearch/
  [2] 210329-Elastic & Kibana安装与基本使用 - 一灰灰Blog:  https://blog.hhui.top/hexblog/2021/03/29/210329-Elastic-Kibana%E5%AE%89%E8%A3%85%E4%B8%8E%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/

失眠中成药推荐长期性的失眠会导致免疫力下降记忆力衰减,严重的甚至会引起高血压心脏病,老年痴呆症,顽固失眠对健康的危害很大,人的身体器官机能均不能良性循环,那么失眠什么中成药见效呢,下面中药大全提人性的丑陋在这个怕你富嫌你穷的年代,这个世界可能真有人希望你过得好,但大多数并不希望你过得比他好,记住人心永远换不了人心,不要在乎失去谁。看看剩下的还有谁,瞎子一旦恢复视力第一件事就是扔掉手虐心记欲说还休想说,但,说不得,说不出,说不准。于是,也便不说了。却还是真想说的,虽然知道说了不好,虽然知道说了别扭,虽然不知从何说起(其实,不知从何说起,并非真不知从何说起,只是不想一开始便直层次高的人,往往都有这三种特质王安石说不畏浮云遮望眼,自缘身在最高层。一个人的层次越低,就越容易被各种琐事所纠缠,最终迷失了人生的方向而层次高的人,却能够突破限制,抓大放小,以最少的付出,获得最大的回报。层次的2。3W搞定全屋家电,全是海尔等大牌还省钱耐用,附双十一家电清单马上双十一啦,装修人都等着这时冲家电了吧,下面是我去年入的一些家电价格和型号,以及用了大半年以来的使用感受,快来看看吧!电视小米255070寸现在日常基本都不怎么看电视,所以我要求荣耀70系列是典型低配高价手机吗?这是典型性能至上的言论了,个人觉得荣耀70其实还算不上低配高价。不能因为容乃公要70给的一颗骁龙778G的芯片,就说这款手机高价低配。虽然这款芯片确实只能算是目前中端芯片的吊车尾的不停地升级手机,我是不是那只不停转圈的小白鼠?手里的一台诺基亚已经陪伴我超过了十年的时间,每个月喂他10块钱的口粮最低消费。平均每半个月充一次电,主要用来接收各种验证码,以及在5G手机没有信号或者没电的时候充当临时的应急通信。AppleWatch新品怎么选?看完这篇文章再下单头条创作挑战赛上个月苹果发布了全新的AppleWatchS8AppleWatchUltra以及新一代的AppleWatchSE,很多朋友都在纠结,双十一到底该买哪款AppleWat你已经猜到结局了吗?解密和GAL情景解谜就是生活情景进行推理,由出题者提出自己一个企业难以充分理解的事件,猜谜者通过研究提出对于任何社会问题以缩小范围并找出出题者所设置的事件的真正重要原因。出题者仅能以是不是或没欠下294亿!公然造假的老牌车企,倒在了山寨路上文金错刀频道2017年,全网都在寻找贾跃亭。当时乐视拖欠供应商款项爆发资金链危机,贾跃亭成了老赖,让别人为他的梦想窒息。最近,一家负债累累的造车企业也在寻找董事长。在多年拖欠员工工升级CortexFi7?联发科天玑9200是否值得期待?作为联发科在2022年度的旗舰SoC,天玑9000系列(还包括天玑9000)成功实现了对高通骁龙8的精准狙击,重新获得了在顶配旗舰市场博弈的机会,如果不是高通通过改用台积电4nm制1019足球赛事分析利物浦实力下滑热刺表现不俗周三002英超利物浦VS西汉姆联利物浦上赛季一举夺得两座杯赛冠军,球队整体表现十分不俗,不过联赛在曼城的统治之下,最终以一分之差,只能屈居联赛亚军,十分可惜!本赛季从球队目前的整体从跳水王子到熊书记,党代表熊倪的变与不变熊代表,你好。你好,这个称呼让我感到光荣,也很亲切。白色上衣运动鞋说话干脆利落,中共二十大代表湖南省体育局党组书记熊倪在接受中新社专访时,话题当然离不开他已从事超40年的体育事业。哈登暴走!无奈空砍3587!恩比德正负值全场倒一常规赛揭幕战,绿军在主场以126117战胜76人,取得新赛季开门红!这是一场经典的恩比德式溃败。一看数据,大帝发挥真不错,一看比赛,你还叫啥大帝啊,改名叫大弟吧。很难想象作为球队大又是销量第一,又老又毛坯的ModelY,凭啥月销4。7万辆?在最近一年的国内新能源汽车市场,特斯拉ModelY可能是整体声量比较低的一款纯电SUV车型,倒不是说这款车销量比较低,而是说因为特斯拉ModelY毕竟是几年前的产品,最近一年的时间雷军爆发了12GB512GB仅3099元,不买iPhone14了科技发展日新月异,产品更新换代也特别快,智能手机行业也是一样的,很多机型上市没多久就落后了,因此大家也没有必要选择太贵的手机,3000元左右已经能够买到比较完美的手机。很多男性用户小米在印度折戟沉沙?还是印度离不开小米?今年可能是小米雷军焦头烂额的一年,尤其是小米集团在印度遭遇了税务危机。在过去几周,小米的这场危机达到了新的顶峰。印度法院拒绝解冻小米在印度的49亿元现金。市场传闻小米在印度的业务实何谓自动驾驶?何谓无人驾驶?未来怎么发展?离我们还有多远?本文系二师兄研究所第55期最近几年,新能源汽车越来越火爆,与之相关的智能驾驶技术也迅速普及,成为新能源汽车的核心竞争力之一。日前,重庆武汉两地发布新规,允许自动驾驶车辆进行商业化运德国天空凯恩愿意加盟拜仁,拜仁对弗拉霍维奇没兴趣根据德国天空体育记者FlorianPlettenberg的报道,托特纳姆热刺前锋凯恩愿意加盟拜仁慕尼黑,不过,托特纳姆热刺依然会是他接触的第一对象,尽管凯恩还没有决定是否延长自己的LegacyofThievesCollection本周在PC上推出NaughtyDog打破了Uncharted4的攀爬演变为UnchartedLegacyofThievesCollection本周在PC上推出,准备好冒险我们很高兴地庆祝本周在PC数字孪生(DigitalTwin)将是物流业必走的趋势本文作者是编辑部特约撰稿人,曾就职于国际快递公司,担任供应链分析与管理工作,期间游历于各大物流企业与货主企业,学习企业经营理念,并将其融会贯通,自创一派,尔后担任各大企业供应链物流2022年switch上半年必玩游戏大盘点(下)上一期,我们一起回顾了2022年switch上半年必玩的游戏的第十名到第六名,相信很多朋友已经迫不及待的想知道switch上半年必玩游戏前五到底有哪些?又有哪些吸引人的故事剧情和新
突发!国乒世界第一正式退赛,樊振东说出原因,王皓秦志戬补充北京时间6月24日,国际乒联与世乒联公布了2022年7月匈牙利一系列赛事的运动员名单,而让人感到非常意外的是,原本在官网榜上有名的世界排名第一猛将樊振东突然失去了踪影,现已正式退出侏罗纪世界喜欢第三部还是前两部?最近侏罗纪世界3正在上映中,侏罗纪世纪伴随着很多人成长,包括小编也是以为侏罗纪迷。因为对前两部的喜欢,对第三部有着极大的期待。小编去看了后,心里有点失落,又去把前两部重新看了一遍,回顾散打王高手更名小插曲,大战前夕,叶翔为啥着急改名?上期咱们聊了散打王绰号的由来和按照人物特点给散打王明星取名,本期咱们讲一下按照地域和身体特征给高手们起绰号。地域起绰号大家应该都看过一部电影双旗镇刀客。没看过的一定要看看,里面的打王廷宇抗日失败!0比4不敌日本猛将户上隼辅,惨遭出局wtt奥托切克站男单132决赛国乒小将王廷宇遭遇日本猛将户上隼辅,户上隼辅曾在2019年获得过葡萄牙挑战赛u21的男单冠军!2021年户上隼辅和早田希娜曾拿到过亚锦赛混双冠军!首局中国游泳队世锦赛仅夺一枚金牌,阴盛阳衰给我们何种启示?2022年游泳世锦赛正在匈牙利首都布达佩斯火热进行中,在最新的奖牌榜上,中国队以三枚金牌四枚铜牌的成绩稳居第三位。在这三枚金牌当中,中国游泳队到6月22日为止收获了一枚金牌,贡献者中国队力克日本,拿到第2场胜利!关键远投绝杀,赛后平静无庆祝6月24日下午17点55分,国际篮联3x3篮球世界杯继续进行小组赛的争夺,中国男篮过招日本男篮。比赛开始后,郭瀚宇上篮打成,龙和安冈上篮回敬。朱渊博高举打进,日本队犯规!中国队内线关系户!两位巨星之子确定加盟湖人北京时间6月24日,2022年NBA选秀大会顺利完成,首轮30个顺位以及次轮28个顺位共58名球员被选中。当然还有许多球员没有参加今年的选秀,而是直接选择参加球队的夏季联赛从而寻找奥兰多魔术队在2022年NBA选秀中以第一顺位选中了保罗班切罗今年,奥兰多魔术队在NBA选秀中获得了第一顺位。他们已经正式选择了一位来自杜克大学的大个子保罗。班切罗(PaoloBanchero)这位身高610(2米08),体重250磅的前锋,美国队长发文会想念iPhone6s的Home键饰演美国队长的ChrisEvans于周五(24日)在Twitter上发文称RIPiPhone6s,会想念iPhone6s的主页按钮。他续指不会忘记每晚与iPhone6s搏斗,试图将让宝宝平常睡在汽车儿童座椅上可能是致命的婴幼儿坐式设备汽车座椅安全座椅和摇晃椅,是许多有孩子的父母的救命稻草。但如果在日常睡眠中使用不当,这些设备会导致孩子发生与睡眠相关的死亡。每年都有婴儿死于与睡眠有关的死亡。这些包括警惕,这些常用药也可能导致儿童心律失常仅供医学专业人士阅读参考用药需谨慎!网上报道安徽合肥27岁女主持人罹患支原体肺炎,在安徽医科大学第一附属医院住院治疗期间,不幸死亡。据家属提供的尸检报告死亡原因系使用药物莫西沙星发