4

我正在尝试在播放框架中使用弹性搜索模块来搜索书籍,我有以下方法在控制器中执行搜索,该控制器根据用户输入的搜索字符串返回书籍列表

public static void bookList(String search){
    SearchResults<Book> searchResult =  ElasticSearch.search(QueryBuilders.queryString(search)  , Book.class);
    List<Book> bookList = searchResult.objects  ;
    render(bookList);
}

现在我需要对获得的结果进行分页。我该如何使用 Java API 做到这一点?

4

1 回答 1

4

在 Play 的 Elasticsearch 模块文档中:

调用 ElasticSearch.query() 并随后设置查询参数(例如分页)

因此,在您的情况下,您想从 i 检索 j 搜索结果:

SearchResults<Book> searchResult =  ElasticSearch.query(QueryBuilders.queryString(search), Book.class).from(i).size(j).fetch();
于 2012-05-14T03:47:50.370 回答