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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM