当前位置: 首页 > 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/14345964/

相关文章:

  • 婚恋网站如何做推广云平台网站建设方案书
  • 大型网站 div工信部网站备案电话
  • 学做网站 为了熊掌号怎么做单位网站
  • 平面设计广告网站建站前seo注意
  • 余姚网站建设百度制作企业网站多少钱
  • 家居企业网站建设案例重庆网页设计学校
  • 做外贸仿牌网站手机可以开发网站
  • 蜜雪冰城网站建设策划方案医疗网站建设
  • 服装企业网站建设策划书网站建设技术方案模板
  • 网站分享插件怎么做固原网站建设公司
  • 网站建设包括哪些项目wordpress 获取栏目
  • 餐饮品牌网站建设满屋花网页设计代码
  • 吉林省建设安全信息网站成都企业网站建设
  • 万能视频解析接口网站怎么做wordpress网站下载文件
  • 网站建设过程总结报告房产微信营销方案
  • 淄博营销型网站建设不使用域名做网站
  • c 开发手机网站开发大厂做网站shijuewang
  • 合肥做网站的公司有哪些网站开发搜索功能怎么实现
  • 网站建设计划方案模板下载快速建站免费软仿
  • 网站开发 软件开发人人商城网站开发
  • seo百度站长工具查询网站的标题符号
  • 中小企业网站建设教程淮南百姓网
  • 网站经营wordpress图文安装
  • 花都区营销型网站建设个旧做网站哪家公司好
  • 建设广告网站需要资质吗做网站怎样赚到钱
  • 筹划电子商务网站建设吉安市建设局施工管理站网站
  • 织梦网站建设实训心得建网站要花多少钱
  • 整站优化网站wordpress不能绑定qq
  • 深圳集团网站开发网站开发公司电话法制教育网站
  • flash企业网站哪个网站建站好500平台