【问题标题】:Spring-boot pagination with results searched by LuceneSpring-boot 分页与 Lucene 搜索的结果
【发布时间】:2018-07-17 19:24:13
【问题描述】:

在我的网络应用程序中,我想搜索由 Lucene 创建的索引,例如,获得前 100 个结果。

这 100 个结果是我自己定义的类 Document 类型(字段名为 title、category 和 content 等)。我将这些放入列表中,但我无法在org.springframework.data.domain.Pageorg.springframework.data.domain.Pageable 的帮助下调整列表以进行分页。

我知道我可以实现自定义存储库,扩展 JpaRepositoryPagingAndSortingRepository 之类的

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
...
public interface Document Repository extends JpaRepository<Document, Long> {

    @Query("SELECT d FROM document d WHERE d.category = :category")
    Page<Document> findByCategory(@Param("category") String category, 
                                                    Pageable pageable);
}

但是在这种情况下,我没有从数据库中获取数据,而是由 Lucene 提供的。

所以我决定将结果收集到一个列表中。问题来了,我必须将 List 转换为 Page 才能进行分页。

有什么好的解决办法吗?我对春天不是很熟悉。我没有尝试自己实现分页。

提前致谢。

【问题讨论】:

    标签: java spring web pagination lucene


    【解决方案1】:

    试试这个代码:

    @Query("SELECT d FROM document d WHERE d.category = :category",nativeQuery = true)
    Page<Document> findByCategory(@Param("category") String category, 
                                                    Pageable pageable);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2014-03-26
      • 2017-02-24
      相关资源
      最近更新 更多