基於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...