Lucene_demo04_ページング
1465 ワード
Lucene_demo04_ページング
/**
*
*/
public class DispageTest {
//
private void testSearchIndex(int firstResult, int maxResult) throws Exception {
IndexSearcher indexSearcher = new IndexSearcher(LuceneUtils.directory);
QueryParser queryParser = new MultiFieldQueryParser(Version.LUCENE_30, new String[] { "title", "content" }, LuceneUtils.analyzer);
Query query = queryParser.parse("2013");
TopDocs topDocs = indexSearcher.search(query, 50);// 50
int count = topDocs.totalHits;//
int scoreCount = Math.min(count, firstResult + maxResult);//
ScoreDoc[] scoreDocs = topDocs.scoreDocs;
// doc model List
List<Article> articleList = new ArrayList<Article>();
for (int i = firstResult; i < scoreCount; i++) {
int index = scoreDocs[i].doc;
Document document = indexSearcher.doc(index);
Article article = DocumentUtils.document2Article(document);
articleList.add(article);
}
//
for (Article article : articleList) {
System.out.println(article.getId());
System.out.println(article.getTitle());
System.out.println(article.getContent());
}
}
@Test
public void dispage() throws Exception {
this.testSearchIndex(20, 10);// , 20 10
}
}