lucene的兩種分頁操作

2021-07-10 18:00:29 字數 1141 閱讀 4085

基於lucene的分頁有兩種:

lucene3.5之前分頁提供的方式為再查詢方式(每次查詢全部記錄,然後取其中部分記錄,這種方式用的最多),lucene官方的解釋:由於我們的速度足夠快。處理海量資料時,記憶體容易記憶體溢位。

/**

* 這就是先查詢所有的資料,然後去分頁資料

* 注意 這種方式處理海量資料的時候,容易記憶體溢位

* @param query

* @param pageindex--第幾頁

* @param pagesize--每頁顯示多少資料

*/public void searchpage(string query,int pageindex,int pagesize)

searcher.close();

} catch (org.apache.lucene.queryparser.parseexception e) catch (ioexception e)

}

最後我們來看下使用searcherafter進行分頁的方式,**如下(lucene3.5之前 不支援該方法):

/**

* 根據頁碼和分頁大小獲取上一次的最後乙個scoredocs

* @param pageindex

* @param pagesize

* @param query

* @param searcher

* @return

* @throws ioexception

*/private scoredoc getlastscoredoc(int pageindex,int pagesize,query query,indexsearcher searcher) throws ioexception

public void searchpagebyafter(string query,int pageindex,int pagesize)

searcher.close();

} catch (org.apache.lucene.queryparser.parseexception e) catch (ioexception e)

}

lucene的兩種分頁操作

lucene的兩種分頁操作

基於lucene的分頁有兩種 lucene3.5之前分頁提供的方式為再查詢方式 每次查詢全部記錄,然後取其中部分記錄,這種方式用的最多 lucene官方的解釋 由於我們的速度足夠快。處理海量資料時,記憶體容易記憶體溢位。這就是先查詢所有的資料,然後去分頁資料 注意 這種方式處理海量資料的時候,容易記...

MS SQL 兩種分頁

row number row number declare pagesize int,pageindex intset pagesize 20 set pageindex 2 select from select row number over order by byod zzfp.id desc ...

分頁的兩種技巧

分頁的兩種技巧 分頁的技巧有兩種,一種是直接透過t sql,另一種是透過store procedure,在這post出來跟大家分享一下 t sql 假設northwind有乙個customer的table,你需要取回41 50筆的記錄,t sql語法該如何作呢?select top 10 custo...