gpt4 book ai didi

java - Spring-boot 分页以及 Lucene 搜索的结果

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:51 24 4
gpt4 key购买 nike

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

这100条结果是我自己定义的Document类类型(字段名为标题、类别和内容等)。我将它们放入列表中,但在 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 提供。

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

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

提前致谢。

最佳答案

试试这个代码:

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

关于java - Spring-boot 分页以及 Lucene 搜索的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48888847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com