0
我有一個網頁表單,可以搜索用戶上傳到網站的所有照片。問題是,即使我們只在頁面上顯示21張照片,Lucene搜索目前正在檢索符合搜索條件的所有照片。這造成了嚴重的性能問題。爲了提高性能,是否可以將檢索的照片數量限制爲21張?Lucene:如何限制點擊次數?
以同樣的方式,我們可以通過使用eg(Category:New)將搜索限制到特定類別,是否有類似的方法來限制匹配數量?
我有一個網頁表單,可以搜索用戶上傳到網站的所有照片。問題是,即使我們只在頁面上顯示21張照片,Lucene搜索目前正在檢索符合搜索條件的所有照片。這造成了嚴重的性能問題。爲了提高性能,是否可以將檢索的照片數量限制爲21張?Lucene:如何限制點擊次數?
以同樣的方式,我們可以通過使用eg(Category:New)將搜索限制到特定類別,是否有類似的方法來限制匹配數量?
這就是我所做的: 搜索方法有多個結果作爲參數。我通過pageSize *頁面。 因此,對於第1頁,我只獲得pageSize文檔。
然後我只加載文檔(使用searcher.doc())爲我需要的頁面。
TopDocs hits = searcher.search(lucene_query, pageSize*(page));
ScoreDoc[] scoreDocs = hits.scoreDocs;
int j = startIndex;
int rem = 0;
while (j < scoreDocs.length && (endIndex==0 || j<endIndex)) {
ScoreDoc sd = scoreDocs[j];
Document d = searcher.doc(sd.doc);
}
Lucene的'Searcher'具有允許限制搜索結果相關的API。但是如果沒有看到你的代碼,我們不能建議究竟需要修復什麼。 – mindas 2013-03-13 16:37:41