You can choose to show the first top k results, or you can paginate lucene as follows:
1 2 3 4 5 6 7 8 9 10 11 | // can get the resultsize easily, so you know how many pages would be.. Integer resultSize = jpaQuery.getResultSize(); // I use 1000 as max results, but it depends.. just try to find the optimum. Integer pageCount = resultSize / MAX_RESULTS + 1; List<Object[]> rawQueryResultList = new ArrayList<>(); for(int page = 0; page < pageCount; page++) { jpaQuery.setFirstResult(page * MAX_RESULTS); jpaQuery.setMaxResults(MAX_RESULTS); rawQueryResultList.addAll(jpaQuery.getResultList()); } |