当前位置: 首页 > news >正文

做漆包线的招聘网站服装厂网站模板

做漆包线的招聘网站,服装厂网站模板,区域推广网站,加快wordpress文章目录 #x1f31e; Sun Frame#xff1a;SpringBoot 的轻量级开发框架#xff08;个人开源项目推荐#xff09;#x1f31f; 亮点功能#x1f4e6; spring cloud模块概览常用工具 #x1f517; 更多信息1.sun-club-infra 模块SubjectEsServiceImpl.java1.querySubje… 文章目录 Sun FrameSpringBoot 的轻量级开发框架个人开源项目推荐 亮点功能 spring cloud模块概览常用工具 更多信息1.sun-club-infra 模块SubjectEsServiceImpl.java1.querySubjectList方法根据查询请求进行查询2.convertHit2SubjectInfoEs方法将每一个hit转换为SubjectInfoEs3.根据信息构建一个查询请求对象 2.简单测试1.TestFeignController.java2.新增几条记录2.查询3.结果高亮显示 3.加上控制层的实现1.DTO和BO都加上keyWord属性2.SubjectController.java3.sun-club-domain1.SubjectInfoDomainService.java2.SubjectInfoDomainServiceImpl.java 4.测试1.es报错requires query value2.发现转换器没有将keyWord转换所以clean-package一下maven即可3.重新测试 Sun FrameSpringBoot 的轻量级开发框架个人开源项目推荐 轻松高效的现代化开发体验 Sun Frame 是我个人开源的一款基于 SpringBoot 的轻量级框架专为中小型企业设计。它提供了一种快速、简单且易于扩展的开发方式。 我们的开发文档记录了整个项目从0到1的任何细节实属不易请给我们一个Star您的支持是我们持续改进的动力。 亮点功能 组件化开发灵活选择简化流程。高性能通过异步日志和 Redis 缓存提升性能。易扩展支持多种数据库和消息队列。 spring cloud模块概览 Nacos 服务高效的服务注册与发现。Feign 远程调用简化服务间通信。强大网关路由与限流。 常用工具 日志管理异步处理与链路追踪。Redis 集成支持分布式锁与缓存。Swagger 文档便捷的 API 入口。测试支持SpringBoot-Test 集成。EasyCode自定义EasyCode模板引擎一键生成CRUD。 更多信息 开源地址Gitee Sun Frame详细文档语雀文档 1.sun-club-infra 模块 SubjectEsServiceImpl.java 1.querySubjectList方法根据查询请求进行查询 Override public PageResultSubjectInfoEs querySubjectList(SubjectInfoEs req) {// 构建一个返回的分页对象PageResultSubjectInfoEs pageResult new PageResult();// 根据信息构建一个查询请求对象EsSearchRequest esSearchRequest createSearchListQuery(req);// 获得分页查询结果SearchResponse searchResponse EsRestClient.searchWithTermQuery(getEsIndexInfo(), esSearchRequest);// 构建一个要返回的数据对象ListSubjectInfoEs subjectInfoEsList new LinkedList();// 得到命中的数据SearchHits searchHits searchResponse.getHits();if (searchHits null || searchHits.getHits() null) {pageResult.setPageNo(req.getPageNo());pageResult.setPageSize(req.getPageSize());pageResult.setRecords(subjectInfoEsList);pageResult.setTotal(0);return pageResult;}// 如果有命中的SearchHit[] hits searchHits.getHits();for (SearchHit hit : hits) {// 将每个hit都转换为SubjectInfoEs然后将其放到要返回的数据对象中SubjectInfoEs subjectInfoEs convertHit2SubjectInfoEs(hit);subjectInfoEsList.add(subjectInfoEs);}// 构建分页对象pageResult.setPageNo(req.getPageNo());pageResult.setPageSize(req.getPageSize());pageResult.setRecords(subjectInfoEsList);pageResult.setTotal(Long.valueOf(searchHits.getTotalHits().value).intValue());return pageResult; }2.convertHit2SubjectInfoEs方法将每一个hit转换为SubjectInfoEs /*** 将每一个hit转换为SubjectInfoEs* param hit* return*/ private SubjectInfoEs convertHit2SubjectInfoEs(SearchHit hit) {MapString, Object sourceAsMap hit.getSourceAsMap();if (CollectionUtils.isEmpty(sourceAsMap)) {return null;}SubjectInfoEs result new SubjectInfoEs();// 封装基本数据result.setSubjectId(MapUtils.getLong(sourceAsMap, EsSubjectFields.SUBJECT_ID));result.setSubjectName(MapUtils.getString(sourceAsMap, EsSubjectFields.SUBJECT_NAME));result.setSubjectAnswer(MapUtils.getString(sourceAsMap, EsSubjectFields.SUBJECT_ANSWER));result.setDocId(MapUtils.getLong(sourceAsMap, EsSubjectFields.DOC_ID));result.setSubjectType(MapUtils.getInteger(sourceAsMap, EsSubjectFields.SUBJECT_TYPE));result.setScore(new BigDecimal(String.valueOf(hit.getScore())).multiply(new BigDecimal(100.00).setScale(2, RoundingMode.HALF_UP)));//处理name的高亮MapString, HighlightField highlightFields hit.getHighlightFields();HighlightField subjectNameField highlightFields.get(EsSubjectFields.SUBJECT_NAME);if(Objects.nonNull(subjectNameField)){Text[] fragments subjectNameField.getFragments();StringBuilder subjectNameBuilder new StringBuilder();for (Text fragment : fragments) {subjectNameBuilder.append(fragment);}result.setSubjectName(subjectNameBuilder.toString());}//处理答案高亮HighlightField subjectAnswerField highlightFields.get(EsSubjectFields.SUBJECT_ANSWER);if(Objects.nonNull(subjectAnswerField)){Text[] fragments subjectAnswerField.getFragments();StringBuilder subjectAnswerBuilder new StringBuilder();for (Text fragment : fragments) {subjectAnswerBuilder.append(fragment);}result.setSubjectAnswer(subjectAnswerBuilder.toString());}return result; }3.根据信息构建一个查询请求对象 /*** 根据信息构建一个查询请求对象* param req* return*/private EsSearchRequest createSearchListQuery(SubjectInfoEs req) {EsSearchRequest esSearchRequest new EsSearchRequest();// bq用来组合查询条件BoolQueryBuilder bq new BoolQueryBuilder();// 查询条件1是根据题目名称查询MatchQueryBuilder subjectNameQueryBuilder QueryBuilders.matchQuery(EsSubjectFields.SUBJECT_NAME, req.getKeyWord());// 查询条件2是根据题目的答案查询MatchQueryBuilder subjectAnswerQueryBuilder QueryBuilders.matchQuery(EsSubjectFields.SUBJECT_ANSWER, req.getKeyWord());// 使用bq关联两个查询条件should就相当于或者就是两个都查bq.should(subjectNameQueryBuilder);// 让题目名的权重高2subjectNameQueryBuilder.boost(2);bq.should(subjectAnswerQueryBuilder);// 查询条件3是只查询简答题MatchQueryBuilder subjectTypeQueryBuilder QueryBuilders.matchQuery(EsSubjectFields.SUBJECT_TYPE, SubjectInfoTypeEnum.BRIEF.getCode());// 必须是简答题bq.must(subjectTypeQueryBuilder);// 至少命中一个shouldbq.minimumShouldMatch(1);// 增加高亮HighlightBuilder highlightBuilder new HighlightBuilder().field(*).requireFieldMatch(false);highlightBuilder.preTags(span style \color:red\);highlightBuilder.postTags(/span);// 组装请求// bqesSearchRequest.setBq(bq);// 高亮esSearchRequest.setHighlightBuilder(highlightBuilder);// 匹配字段一般是全部esSearchRequest.setFields(EsSubjectFields.FIELD_QUERY);// 返回分页查询的结果// 当前页是从第几条记录开始下标从1开始esSearchRequest.setFrom((req.getPageNo() - 1) * req.getPageSize());// 页面大小esSearchRequest.setSize(req.getPageSize());// 返回分页查询的结果// 不需要快照缓存esSearchRequest.setNeedScroll(false);return esSearchRequest;}2.简单测试 1.TestFeignController.java RequestMapping(/querySubjectByKeyword)public void querySubjectByKeyword() {SubjectInfoEs subjectInfoEs new SubjectInfoEs();subjectInfoEs.setKeyWord(简答题目);PageResultSubjectInfoEs subjectInfoEsPageResult subjectEsService.querySubjectList(subjectInfoEs);// 打印log.info(querySubjectByKeyword: JSON.toJSONString(subjectInfoEsPageResult));} }2.新增几条记录 2.查询 3.结果高亮显示 3.加上控制层的实现 1.DTO和BO都加上keyWord属性 2.SubjectController.java /*** 全文检索* param subjectInfoDTO* return*/ PostMapping(/getSubjectPageBySearch) public ResultSubjectInfoEs getSubjectPageBySearch(RequestBody SubjectInfoDTO subjectInfoDTO) {try {// 打印日志if (log.isInfoEnabled()) {log.info(SubjectController getSubjectPageBySearch SubjectInfoDTO, subjectInfoDTO:{}, JSON.toJSONString(subjectInfoDTO));}// 参数校验Preconditions.checkArgument(StringUtils.isNotBlank(subjectInfoDTO.getKeyWord()), 关键字不能为空);// DTO转BOSubjectInfoBO subjectInfoBO SubjectInfoDTOConverter.INSTANCE.convertDTO2BO(subjectInfoDTO);// 设置分页参数subjectInfoBO.setPageNo(subjectInfoDTO.getPageNo());subjectInfoBO.setPageSize(subjectInfoDTO.getPageSize());// 全文检索PageResultSubjectInfoEs boPageResult subjectInfoDomainService.getSubjectPageBySearch(subjectInfoBO);return Result.ok(boPageResult);} catch (Exception e) {log.error(SubjectController getSubjectPageBySearch error, subjectInfoDTO:{}, e.getMessage(), e);return Result.fail(全文检索失败);} }3.sun-club-domain 1.SubjectInfoDomainService.java /*** 全文检索* param subjectInfoBO* return*/ PageResultSubjectInfoEs getSubjectPageBySearch(SubjectInfoBO subjectInfoBO);2.SubjectInfoDomainServiceImpl.java Override public PageResultSubjectInfoEs getSubjectPageBySearch(SubjectInfoBO subjectInfoBO) {// 将bo转换为entitySubjectInfoEs subjectInfoEs new SubjectInfoEs();subjectInfoEs.setKeyWord(subjectInfoBO.getKeyWord());subjectInfoEs.setPageNo(subjectInfoBO.getPageNo());subjectInfoEs.setPageSize(subjectInfoBO.getPageSize());// 全文检索PageResultSubjectInfoEs subjectInfoEsPageResult subjectEsService.querySubjectList(subjectInfoEs);return subjectInfoEsPageResult; }4.测试 1.es报错requires query value 2.发现转换器没有将keyWord转换所以clean-package一下maven即可 3.重新测试
http://www.w-s-a.com/news/479972/

相关文章:

  • 企业网站建设报价单免费劳务网站建设
  • 天津平台网站建设方案国际新闻最新消息今天乌克兰与俄罗斯
  • 食用油 网站 模板网页游戏网站在线玩
  • 做网站用的书新能源东莞网站建设技术支持
  • 漯河网站超市建设软件开发的五个阶段
  • 制作深圳网站建设阿里OSS做网站图库费用
  • 网页设计与网站建设 入门必练宜都网站seo
  • 网站设计沟通阆中网站网站建设
  • 缩短网址做钓鱼网站如何确保网站安全
  • 网店网站开发怎样用ps做企业网站
  • 南京门户网站建设做网站一般注册哪几类商标
  • 企业咨询管理服务wordpress seo tdk
  • 做网站前期创建文件夹flash 开发的网站
  • 天津网站制作培训搭建网站的工具
  • 江西网站建设价格低网上卖产品怎么推广
  • 做aelogo动效有什么好的网站建立网站站点的步骤
  • 无锡网站推广公司排名网站赚钱平台
  • 网站物理结构利用公共dns做网站解析
  • 苍南做网站微信建设网站哪家好
  • 华中农业大学基因编辑在线设计网站网站蓝色配色
  • 洛阳建设工程信息网站怎么在服务器建立网站
  • 陕西省建设部官方网站微信小程序怎么关闭这个功能
  • 唐河县住房和城乡建设局网站公司需要做网站
  • 体现网站特色免费个人域名网站
  • ps国外教程网站seo优化是什么职业
  • 什么是网站单页适合女生做的网站
  • 环境文化建设方案网站企业英语网站
  • 南通网站关键词推广响应式网站建设流程
  • 湖北响应式网站建设企业做漫画网站 漫画哪找
  • 东莞建设通网站中小企业网站的建设实践报告