项目实训——检索关键词

一共有8998个中医关键词,要实现可以根据中文/英文检索到关键词并展示其内容。

检索功能支持模糊查询和分页查询

1、根据中文检索

    public List<TCMResult> findByC(String s_name, int pageIndex){
        Pattern pattern  = Pattern.compile(".*?"+s_name+".*?");
        Query query = new Query();
        query.skip((pageIndex - 1) * 10);
        query.limit(10);
        query.addCriteria(Criteria.where("SimplifiedName").regex(pattern));
        return mongoTemplate.find(query, TCMResult.class);
    }

2、根据英文检索

    public List<TCMResult> findByEng(String e_name, int pageIndex){
        Pattern pattern = Pattern.compile(".*"+e_name+".*?");
        Query query = new Query();
        query.skip((pageIndex - 1) * 10);
        query.limit(10);
        query.addCriteria(Criteria.where("EnglishNames").in(pattern)); // .regex(pattern)
        return mongoTemplate.find(query, TCMResult.class);
    }

后端以springboot框架开发

controller调用service调用dao来获取结果。

通过注解和mongotemplate来查询mongodb数据库。

controller:

    @GetMapping("/getbyCh")
    public R getResbyCh(@RequestParam String ch, int page){
        int count = resultService.getCount(ch, true);
        return new R(true, count, resultService.getbych(ch, page));
    }

    @GetMapping("/getbyEng")
    public R getbyEng(@RequestParam String eng, int page){
        int count = resultService.getCount(eng, false);
        return new R(true, count, resultService.getbyeng(eng, page));
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值