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;
原文地址:https://www.cnblogs.com/margin-gu/p/7039399.html