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?