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

网站开发学那种语言网站侧栏软件排行榜怎么做的

网站开发学那种语言,网站侧栏软件排行榜怎么做的,做风控的网站,医院建筑设计案例1.什么是ElasticSearch分布式搜索引擎#xff1f; Elasticsearch是一个开源的分布式搜索引擎#xff0c;提供实时的、高可用性的搜索和分析解决方案。它支持快速索引和搜索大规模数据#xff0c;具有分布式架构、RESTful API、基于JSON的查询语言等功能#xff0c;适用于各…1.什么是ElasticSearch分布式搜索引擎 Elasticsearch是一个开源的分布式搜索引擎提供实时的、高可用性的搜索和分析解决方案。它支持快速索引和搜索大规模数据具有分布式架构、RESTful API、基于JSON的查询语言等功能适用于各种应用场景如全文搜索。 比如说现在我拥有一个电子商务网站然后我需要一个搜索引擎来让用户能够快速地搜索和找到他们感兴趣的商品。这时候我就可以使用Elasticsearch作为你的分布式搜索引擎。 假设现在我的电子商务网站有几百万个商品并且我希望用户可以根据商品的名称、描述、价格、品牌等信息进行搜索。 首先我会使用Elasticsearch的API将商品数据索引到Elasticsearch集群中。每个商品将被表示为一个文档包含属性如商品名称、描述、价格等。 当用户在我的网站上进行搜索时我就可以使用Elasticsearch的搜索API发送一个搜索请求。比如用户搜索关键词手机。 Elasticsearch将会在索引中查找包含关键词手机的所有文档并返回匹配的结果。 2.项目中的搜索功能实现 在Dao层中新建Elasticsearch文件添加Elasticsearch接口用于连接数据库只需要继承接口即可。 Repository public interface DiscussPostRepository extends ElasticsearchRepositoryDiscussPost, Integer {} 上面的代码其实是用Elasticsearch创建一个帖子的仓库接口以便在应用程序中访问和操作Elasticsearch中的帖子数据。这个相对而言比较简单。 service层写一个ElasticsearchService文件。 Service public class ElasticsearchService {Autowiredprivate DiscussPostRepository discussRepository;Autowiredprivate ElasticsearchTemplate elasticTemplate;public void saveDiscussPost(DiscussPost post) {discussRepository.save(post);}public void deleteDiscussPost(int id) {discussRepository.deleteById(id);}public PageDiscussPost searchDiscussPost(String keyword, int current, int limit) {SearchQuery searchQuery new NativeSearchQueryBuilder().withQuery(QueryBuilders.multiMatchQuery(keyword, title, content)).withSort(SortBuilders.fieldSort(type).order(SortOrder.DESC)).withSort(SortBuilders.fieldSort(score).order(SortOrder.DESC)).withSort(SortBuilders.fieldSort(createTime).order(SortOrder.DESC)).withPageable(PageRequest.of(current, limit)).withHighlightFields(new HighlightBuilder.Field(title).preTags(em).postTags(/em),new HighlightBuilder.Field(content).preTags(em).postTags(/em)).build();return elasticTemplate.queryForPage(searchQuery, DiscussPost.class, new SearchResultMapper() {Overridepublic T AggregatedPageT mapResults(SearchResponse response, ClassT aClass, Pageable pageable) {SearchHits hits response.getHits();if (hits.getTotalHits() 0) {return null;}ListDiscussPost list new ArrayList();for (SearchHit hit : hits) {DiscussPost post new DiscussPost();String id hit.getSourceAsMap().get(id).toString();post.setId(Integer.valueOf(id));String userId hit.getSourceAsMap().get(userId).toString();post.setUserId(Integer.valueOf(userId));String title hit.getSourceAsMap().get(title).toString();post.setTitle(title);String content hit.getSourceAsMap().get(content).toString();post.setContent(content);String status hit.getSourceAsMap().get(status).toString();post.setStatus(Integer.valueOf(status));String createTime hit.getSourceAsMap().get(createTime).toString();post.setCreateTime(new Date(Long.valueOf(createTime)));String commentCount hit.getSourceAsMap().get(commentCount).toString();post.setCommentCount(Integer.valueOf(commentCount));// 处理高亮显示的结果HighlightField titleField hit.getHighlightFields().get(title);if (titleField ! null) {post.setTitle(titleField.getFragments()[0].toString());}HighlightField contentField hit.getHighlightFields().get(content);if (contentField ! null) {post.setContent(contentField.getFragments()[0].toString());}list.add(post);}return new AggregatedPageImpl(list, pageable,hits.getTotalHits(), response.getAggregations(), response.getScrollId(), hits.getMaxScore());}});}} 上述代码展示了一个名为 ElasticsearchService 的服务类它提供了以下功能 saveDiscussPost 方法用于将帖子数据保存到 Elasticsearch 中。它接收一个 DiscussPost 对象作为参数并调用 discussRepository 的 save 方法将数据保存到 Elasticsearch 中。 deleteDiscussPost 方法用于从 Elasticsearch 中删除指定 ID 的数据。它接收一个整数类型的 ID 参数并调用 discussRepository 的 deleteById 方法来删除数据。 searchDiscussPost 方法用于在 Elasticsearch 中搜索帖子数据。它接收关键字、当前页码和每页显示数量作为参数并执行一个复杂的搜索查询。将查询结果封装成一个 PageDiscussPost 对象返回。 上面说了很多其实你只要知道这段代码作用就是这样的ElasticsearchService 提供了对 Elasticsearch 中讨论帖子数据的保存、删除和搜索功能。它充分利用了 Spring Data Elasticsearch 和 ElasticsearchTemplate 提供的功能和方法简化了与 Elasticsearch 的交互和操作。该服务类可以被其他组件或业务逻辑调用以实现对 Elasticsearch 数据的管理和检索。 在Controller层写一个SearchController文件。 Controller public class SearchController implements CommunityConstant {Autowiredprivate ElasticsearchService elasticsearchService;Autowiredprivate UserService userService;Autowiredprivate LikeService likeService;// search?keywordxxxRequestMapping(path /search, method RequestMethod.GET)public String search(String keyword, Page page, Model model) {// 搜索帖子org.springframework.data.domain.PageDiscussPost searchResult elasticsearchService.searchDiscussPost(keyword, page.getCurrent() - 1, page.getLimit());// 聚合数据ListMapString, Object discussPosts new ArrayList();if (searchResult ! null) {for (DiscussPost post : searchResult) {MapString, Object map new HashMap();// 帖子map.put(post, post);// 作者map.put(user, userService.findUserById(post.getUserId()));// 点赞数量map.put(likeCount, likeService.findEntityLikeCount(ENTITY_TYPE_POST, post.getId()));discussPosts.add(map);}}model.addAttribute(discussPosts, discussPosts);model.addAttribute(keyword, keyword);// 分页信息page.setPath(/search?keyword keyword);page.setRows(searchResult null ? 0 : (int) searchResult.getTotalElements());return /site/search;}} 这段代码的作用是展示了一个名为 SearchController 的控制器类用于处理搜索功能的请求。 接收用户输入的关键字 keyword、分页信息 page 和模型对象 model。 调用 elasticsearchService 的 searchDiscussPost 方法传递关键字、当前页码和每页显示数量以执行搜索操作。 将搜索结果 searchResult 中的每个帖子以及帖子的作者和点赞数量等信息存储在 discussPosts 列表中的 Map 对象中。 将 discussPosts、关键字 keyword 和分页信息 page 添加到模型对象 model 中以便在视图中进行展示。 看了这么多反正你要知道的就是SearchController 控制器类负责接收用户的搜索请求调用 ElasticsearchService 执行搜索操作获取搜索结果并将结果和相关信息传递给视图进行展示。通过这个控制器类用户可以在前端页面输入关键字进行搜索然后获取搜索结果并在页面上显示。
http://www.hkea.cn/news/14401646/

相关文章:

  • 做网站一次付费做门的网站建设
  • 济南源码网站建设上优化
  • 为什么要先创建站点后建立文件?能否改变两者的顺序?电商手机网站开发
  • 新余网站开发proxy网页在线代理
  • 电子商务网站模板石家庄网站建设案例
  • 安徽建站优化哪里有抖音代运营公司布马网络
  • 网站服务器备案查询网站备案企业网站建公司
  • 找人做微信网站做网站需要做手机版吗
  • 东莞免费公司网站建设帮助中心网站模板
  • 建网站要钱吗 优帮云wordpress.org账号
  • 设计师合作网站合肥小吃培训网页设计
  • 做网站的销售好做吗微信seo
  • 90设计网站会员全站通与电商模板的区别wordpress幻灯片太卡
  • 做网站首页文字排版技巧装修网站设计平台
  • 西安网站建设APP开发蓬莱做网站哪家好
  • o2o型网站茶山网站仿做
  • j2ee网站开发开题报告网址大全浏览器主页
  • ui界面濮阳网站怎么做seo
  • 淘客cms网站建设建站系统运营
  • 做外贸球衣用什么网站北京活动策划网站
  • 珲春市建设局网站千岛湖网站建设
  • 网站推广文章怎么写龙岩好工作人才网最新招聘信息
  • discuz门户网站模板手机上海建设安全生产协会网站
  • 宿迁558网络专业做网站asp.net小型网站开发
  • 余姚网站建设报价抚州建设局网站
  • 黑龙江省和城乡建设厅网站免费咨询律师电话
  • 美食网站建设的功能做塑料的网站
  • 做阿里云网站的公司一级做爰片a视频网站试看
  • wordpress 建站容易吗市场调研报告范文2000
  • 有哪些搜索引擎网站中国网库网站介绍