• java spring-data-solr 查询 排序 分页


    @Query(value = "(?0) -no:?1 +typeCode:?2", fields = { "no", "typeName", "name", "keywords", "modifyDate", "score" }, name = "TodoDocument.findByNamedQuery", requestHandler = "select")
    List<T> findScore(String keywords, String no, String typeCode, Pageable page);

    @Test
    public void findScore() {
      String no = "33029100001";
      // 获得信息
      Case _entity = caseService.findById(no);
      // 获得关键词列表
      List<String> keyword = keywordsService.findListByCaseId(_entity.getNo());

      String keywords = String.join(" keywords:", keyword);
      keywords = "keywords:" + keywords.trim();

      //排序

      Sort sort = new Sort(Sort.Direction.DESC, "score").and(new Sort(Sort.Direction.DESC, "modifyDate"));

      //分页
      Pageable page = new PageRequest(0, 10, sort);
      List<T> list = keywordRepository.findScore(keywords, _entity.getNo(), _entity.getTypeCode(), page);

      System.out.println("list size :" + list.size());
    }

        @Field()
        @Indexed()
        private String keywords;
    
        @Field()
        @Indexed()
        private Long modifyDate;
        
        @Score()
        private Double score;
  • 相关阅读:
    【python】一个文件内容写入另一个
    【Linux】批量修改权限
    【Git】git add git commit
    赌博游戏
    输出斐波那契数列前20项,每输出5个数换行
    Java线程的几种可用状态
    Java创建线程的方式
    Java虚拟机
    判断对象oStringObject是否为String
    throw跟throws关键字
  • 原文地址:https://www.cnblogs.com/margin-gu/p/7039399.html
Copyright © 2020-2023  润新知