Lucene 4 Pagination

Estou usando o Lucene 4.2 e estou implementando a paginação de resultados.

IndexSearcher.searchAfter fornece uma maneira eficiente de implementar a funcionalidade "próxima página", mas qual é a melhor maneira de implementar a funcionalidade "página anterior" ou até mesmo "ir para a página"? Não háIndexSearcher.searchBefore por exemplo.

Eu estava pensando em determinar o número total de páginas dado o tamanho da página e manter umScoreDoc[] array para rastrear o "depois"ScoreDoc para cada página (a matriz seria preenchida como os resultados são paginados). Isso me permitiria usar o "mais próximo"ScoreDoc para usar emIndexSearcher.searchAfter (ou null no pior dos casos).

Isso faz sentido? Existe uma abordagem melhor?

questionAnswers(2)

yourAnswerToTheQuestion